方法一:把要读取的文件的编码改为ansi。 方法二:如果方法一不行, 把数据文件编码改为utf-8,再用带w的函数读取。 如wchar_t、std:wcin、wfscanf()等
中文是占2个字符,你的ch只有一个字符就换行了,所以打不出来,把打印时的换行去掉就行了 include <stdio.h> include <stdlib.h> main(){ FILE *fp;char ch;if((fp=fopen("d:\\test.txt","r"))==NULL){ printf("file cannot open!");exit(0);} ch=fgetc(fp);while(!feof(fp))...
"r");if(file==NULL){printf("无法打开文件\n");return-1;}// 按行读取文件内容while(fgets(lin...
FILE *fp = fopen(文件名,使用文件方式) 如:FILE *fp = NULL; fp = fopen(” file.txt”,”r”);//r 表示读文件 int result = fclose(fp) ;// =0,如果不等于0,表示发生错误 四、读写方式 五、补充: \0 :表示字符串结束 \n :表示回车换行 EOF :表示文件的末尾 六、关于中文读取 因为一个汉...
可靠的做法之一可以是:读取bytes 检测编码 按照编码转换为string 不仅适用于中文,适用于大部分语言。在...
C语言读取不了文件中的中文 #include<stdio.h> int main(){ FILE *fp; if((fp=fopen("D:\\学生数据.txt","r"))==NULL){ printf("open error"); } char a[100]; fgets(a,100,fp); printf("%s",a); fclose(fp); } 文档中: 啊啊啊啊...
printf("文件打开失败"); exit(-1); } printf("文件打开成功\n"); char e[1024]; char *w; while (!feof(pf)) { w = fgets(e,1024,pf); printf("%s",e); } fclose(pf); } void main() { read(); } 估计大家有时会出现这样的情况,就是在txt文件中写的中文,可是将它读出来时,却显示乱...
char kwCN[20];// 中文名 char kwEN[10];// 英文名 struct keyWord *next;}KW;void freeKWS(KW *kwsHead);//释放链表内存 int createDictionary(char *path);//创建字典。成功返回1 失败返回0 int writeFile(char *path,KW *kwsHead,int flag);//写入文件。成功返回1,失败返回0。flag:0...
检查原始txt文件的编码格式,用记事本打开后另存为ANSI编码的文本文件,之后再重新尝试。如果你安装了十六进制编辑器,例如UltraEdit,也可以直接打开原始txt文档查看一下编码是什么样的,也可以直接输入汉字更改。
还有个Makefile, 也是支持中文汉字的.# Makefile 文件的字符编码为 UTF-8export LANG := zh_CN.UTF-8# Makefile 文件中的两个命令,用于编译和清理程序。# 使用 cc 编译器编译 主入口.c 和 扫描.c 两个源文件,生成可执行文件 扫描器。扫描器: 主入口.c 扫描.cclang -o 扫描器 -g 主入口.c 扫描...