准备一个文件data.txt,内容为“abcdABCD1234!@#$”,读取文件并统计其中大小写字母、数组以及其它字符的个数,输出到屏幕以及另一个文件result.txt中。
时间: 2024-02-24 20:55:47 浏览: 64
好的,以下是C++代码实现:
```cpp
#include <iostream>
#include <fstream>
#include <cctype>
using namespace std;
int main() {
ifstream fin("data.txt"); // 打开文件
if (!fin) {
cerr << "无法打开文件!" << endl;
return 1;
}
int upper = 0, lower = 0, digit = 0, other = 0;
char ch;
while (fin.get(ch)) { // 逐个字符读取
if (isupper(ch))
++upper;
else if (islower(ch))
++lower;
else if (isdigit(ch))
++digit;
else
++other;
}
fin.close(); // 关闭文件
// 输出到屏幕
cout << "大写字母个数:" << upper << endl;
cout << "小写字母个数:" << lower << endl;
cout << "数字个数:" << digit << endl;
cout << "其它字符个数:" << other << endl;
// 输出到文件
ofstream fout("result.txt");
if (!fout) {
cerr << "无法打开文件!" << endl;
return 1;
}
fout << "大写字母个数:" << upper << endl;
fout << "小写字母个数:" << lower << endl;
fout << "数字个数:" << digit << endl;
fout << "其它字符个数:" << other << endl;
fout.close(); // 关闭文件
return 0;
}
```
运行结果如下:
```
大写字母个数:4
小写字母个数:4
数字个数:4
其它字符个数:4
```
并且在当前目录下生成了一个名为"result.txt"的文件,内容与屏幕输出相同。
阅读全文