请编写C语言程序,统计txt文件英文字符和中文字符的数量
时间: 2023-06-07 10:09:05 浏览: 70
好的,以下是C语言程序的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main() {
char filename[100];
printf("请输入要统计的txt文件名: ");
scanf("%s", filename);
FILE *fp = fopen(filename, "r");
if (fp == NULL) {
printf("文件打开失败!\n");
return 0;
}
int eng_cnt = 0, chi_cnt = 0;
char ch;
while ((ch = fgetc(fp)) != EOF) {
if (isalpha(ch)) // 如果是英文字符
eng_cnt++;
else if ((ch & 0xF0) == 0xE0) { // 如果是中文字符
chi_cnt++;
while ((ch = fgetc(fp)) & 0x80); // 跳过后面的续码
}
}
fclose(fp);
printf("文件中英文字符数为:%d, 中文字符数为:%d\n", eng_cnt, chi_cnt);
return 0;
}
```
请注意:这里的程序仅能计算纯中文和纯英文字符的数目,如果一个字符既包含中文又包含英文,那么它会被误判为中文字符。