首页 > 编程知识 正文

c语言从txt中读取数据,C语言读取txt文件中单词个数

时间:2023-05-05 19:06:31 阅读:203835 作者:1669

使用fgets函数读取并显示总字符数
在源文件目录下读取test.txt文件

#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAX_NUM 1024int main(void){char buf[MAX_NUM];//字符缓冲区FILE *fp; int len,total=0; //每行字符个数和总字数if((fp = fopen("test.txt","r")) == NULL){perror("the file fail to read");getchar();//暂停显示exit (1) ;} while(!feof(fp) && !ferror(fp)){//文件读取结束或出错则退出//while(fgets(buf,MAX_NUM,fp) != NULL)fgets(buf,MAX_NUM,fp);//每次读取一行或者MAX_NUM个字符len = strlen(buf);if(buf[len-1] == 'n'){buf[len-1] = ''; //去掉换行符在输出len--;}if(len == 0) continue;//消除空白行printf("%s %d n",buf,len);total+=len; }printf("This txt total number of worlds %d n",total);fclose(fp);//关闭文件getchar();return 0;}



可以看到无法正确读取汉字,由于大多数txt文档编辑器采用UTF-8 编码,汉字占3~4个字节,
而我的编译器是VC++ ,汉字采用的编码占用两个字节,所以会造成识别错误。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。