统计一个文件中所有字符的个数、数字的个数、字母的个数和其他字符的个数,然后把统计结果写入到另一个文件中。提示:可以使用fgetc()函数和fputc()函数读写字符,可以通过判断字符的ASCII码来判断该字符是数字、字母、其他字符等类型。
时间: 2024-05-13 20:15:40 浏览: 65
下面是一个简单的实现代码:
```c++
#include <stdio.h>
int main() {
FILE *fp1, *fp2;
char c;
int letters = 0, digits = 0, others = 0, count = 0;
fp1 = fopen("input.txt", "r");
if (fp1 == NULL) {
printf("Failed to open file.\n");
return 0;
}
while ((c = fgetc(fp1)) != EOF) {
count++;
if (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z') {
letters++;
} else if (c >= '0' && c <= '9') {
digits++;
} else {
others++;
}
}
fclose(fp1);
fp2 = fopen("output.txt", "w");
if (fp2 == NULL) {
printf("Failed to create file.\n");
return 0;
}
fprintf(fp2, "Total characters: %d\n", count);
fprintf(fp2, "Letters: %d\n", letters);
fprintf(fp2, "Digits: %d\n", digits);
fprintf(fp2, "Others: %d\n", others);
fclose(fp2);
printf("Statistics completed.\n");
return 0;
}
```
在这个程序中,我们首先打开名为 `input.txt` 的文件,并使用 `fgetc()` 函数逐个读取其中的字符。然后,我们使用条件语句来判断每个字符是字母、数字还是其他字符,并在循环中分别计算它们的数量。最后,我们将统计结果写入名为 `output.txt` 的另一个文件中,并使用 `fprintf()` 函数格式化输出。
阅读全文