这两天学到文件,尝试写了一个统计txt中汉字数量的简单程序,其中要用到编码知识还请参考GB2132,以下是程序,请指正
#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE *fp; /*定义文件指针*/
char ch;
int num=0;
fp=fopen("E:\\wenzi.txt","r"); /*打开文件 位置*/
if(fopen==NULL) /*打开错误返回NULL*/
{
printf("error to open the file\n");
system("pause");
exit(0); /*正常退出*/
}
ch=fgetc(fp); /*取得一个字符*/
while(ch!=EOF)
{
short int tem=(short int)ch; /*第一个字节的数值转换*/
if(tem>=-80&&tem<=-9) /*判断第一个字节*/
{
fseek(fp,-1,SEEK_CUR); /*指针后退一个字节*/
ch=fgetc(fp); /*输出这个汉字*/
putchar(ch);
ch=fgetc(fp);
putchar(ch);
printf("\t");
num++; /*汉字计数+1*/
}
ch=getc(fp);
}
printf("\n");
printf("汉字数量是%d个\n");
rewind(fp); /*重置指针到开头*/
ch=fgetc(fp);
while(ch!=EOF) /*文件以EOF结尾*/
{
putchar(ch);
ch=fgetc(fp);
}
fflush(fp); /*刷新缓冲区,讲缓冲区的文件输出到磁盘*/
fclose(fp); /*关闭文件*/
system("pause");
}