c语言中怎么读取txt文件的字符

如题所述

你的文件内容是中文吗?试试英文和数字能不能读出来先。汉字的话不能用字符来读的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-03-01
运算符优先级的问题:
while((c=fgetc(p)!=EOF))
被解释成:
while(c=(fgetc(p)!=EOF)),
c被赋值为(fgetc(p)!=EOF)这个逻辑值了,所以不管文本里的内容是什么,都会在文件指针未指向文件结尾时打印ASCII码为1的字符(因为fgetc(p)!=EOF为真),也就是那个笑脸,到文件结尾时fgetc(p)!=EOF为假
c
=
0才退出循环。改动很简单,加个括号防止fgetc(p)先和!=EOF结合就行了:while((c=fgetc(p))!=EOF)