【C语言】文本文件读取中文汉字出现乱码问题的解决方法-创新互联

#include#include//exit()函数的头文件
int main()
{
	FILE* fp;

	fp = fopen("text.txt", "r");
	if (feof(fp))
	{
		printf("NULL");
		exit(0);//表示如果读取为空文件就正常退出
	}
	char s[20];
	fgets(s,20, fp);
	puts(s);
	fclose(fp);
}

文件内容如下:

陇县网站建设公司成都创新互联公司,陇县网站设计制作,有大型网站制作公司丰富经验。已为陇县上1000家提供企业网站建设服务。企业网站搭建\外贸网站建设要多少钱,请找那个售后服务好的陇县做网站的公司定做!

运行结果出现了乱码

如果我们想读取文字,并且输出,我们可以打开文件然后另存为,再把文件编码改成ANSL,就不会出现乱码了。

如下所示,就不会出现乱码了。

补充内容:不同的国家和地区制定了不同的标准,由此产生了 GB2312、GBK、Big5、Shift_JIS 等各自的编码标准。这些使用 1 至 4 个字节来代表一个字符的各种汉字延伸编码方式,称为 ANSI 编码。在简体中文Windows操作系统中,ANSI 编码代表 GBK 编码;在日文Windows操作系统中,ANSI 编码代表 Shift_JIS 编码。 不同 ANSI 编码之间互不兼容,当信息在国际间交流时,无法将属于两种语言的文字,存储在同一段 ANSI 编码的文本中。 当然对于ANSI编码而言,0x00~0x7F之间的字符,依旧是1个字节代表1个字符。这一点是ANSI编码与Unicode编码之间大也最明显的区别。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


标题名称:【C语言】文本文件读取中文汉字出现乱码问题的解决方法-创新互联
浏览路径:http://pwwzsj.com/article/dscpeh.html