c++怎样实现读取txt文件里的字符串,并统计有多少个数字、大小写字母、空格、其他字符?

2024-11-03 06:27:45
推荐回答(1个)
回答1:

#include 
#include 
using namespace std;

const int rangeNum = 5; 
const int bufferSize = 256;
char buffer[bufferSize];
int range[rangeNum][2] = {{'A','Z'},{'a','z'},{'0','9'},{' ',' '},{0,256}};
char print[rangeNum][100] = {"大写字母","小写字母","数字","空格","其他"};
int ans[rangeNum];

int main() {
    ifstream fin("D:\\作业.txt");
    memset(ans,0,sizeof(ans));
    while ( fin.getline(buffer,bufferSize) ) {
          for (int i = 0; buffer[i] != '\0'; ++i) {
              int j;
              for (j = 0; j < rangeNum; ++j) {
                  if (range[j][0] <= buffer[i] && range[j][1] >= buffer[i]) {
                     break;
                  }
              } 
              ans[j]++;
          }
    }
    for (int i = 0; i < rangeNum; ++i) {
        cout << print[i] << ":" << ans[i] << endl;
    }
    fin.close();
    return 0;
}