编写一个程序,统计某个文本文件中字母、数字和其他字符的个数,文件名从键盘输入。
时间: 2023-11-07 15:09:45 浏览: 94
从键盘上输入一串英文字符(不含空格与其他字符),统计每个字符的数目,并输出字母及相应的数目。
好的,以下是C++程序的代码实现:
```c++
#include <iostream>
#include <fstream>
using namespace std;
int main() {
string filename;
cout << "请输入文件名:" << endl;
getline(cin, filename);
ifstream file(filename);
if (!file) {
cout << "打开文件失败!" << endl;
return 1;
}
int letter_count = 0, digit_count = 0, other_count = 0;
char ch;
while (file.get(ch)) { // 从文件中读取一个字符
if (isalpha(ch)) { // 如果是字母
letter_count++;
} else if (isdigit(ch)) { // 如果是数字
digit_count++;
} else { // 其他字符
other_count++;
}
}
file.close();
cout << "字母个数:" << letter_count << endl;
cout << "数字个数:" << digit_count << endl;
cout << "其他字符个数:" << other_count << endl;
return 0;
}
```
以上代码中,我们首先使用 `getline` 函数从键盘输入文件名,并且打开文件进行读取。在读取文件时,我们使用一个循环不断读取文件中的字符,并且使用 `isalpha` 函数判断是否为字母、使用 `isdigit` 函数判断是否为数字以及其他字符。最后关闭文件,并输出字母个数、数字个数和其他字符个数。
希望能够帮到你!
阅读全文