今天在做预置文件读入时遇到了个小问题。
问题描述:
明明我的文件操作代码没有问题
#include <stdio.h>
int main(){
FILE *f = fopen("a.txt","r");
char str[10];
fscanf(f,"%s",&str);
printf("%s",str);
return 0;
}
看看我的txt里存的东西
明明是abc,却为何输出却是
一个乱码?
解析:
C的文件处理,支持两种文件ASCII文件和二进制文件
而现在txt却会默认为UTF-8编码
格式不兼容就导致了上述问题的产生。
解决方法:
把txt的编码类型改为ASCII
操作如下:
1.选择文件里另存为
2.修改编码类型
3.替换之前的文件
这个时候编码方式就改啦
再次运行程序