C语言读取文件出现错误,读取了两遍而且有乱码是什么情况

C语言读取文件出现错误,读取了两遍而且有乱码是什么情况,第1张

程序执行两边,肯定是代码问题。

数据对计算机而言就是2进制,你看乱码说明显示的时候没有对应字符集,你把原文件打开看有乱码没。

或者你文件有中文,你试试用全部英文和数字的文件读取。

另外,文件有格式的话,你换fscanf和fprintf看看。

如果数据文件是用fprintf()函数写入的,则用fscanf()函数读出,要点是两个函数的写/读格式要一致。

如果数据文件是用fwrite()函数写入的,则用fread()函数读出,写/读单位是sizeof(struct

student)。

参考代码如下:

#include <stdlib.h>

#include <stdio.h>

#include <string.h>

int main()

{

FILE *fp

char ch

if ((fp=fopen("o.txt","wr+"))==0) //据所知=没有"wr+"的表达,如果是读取数据的话改成if((fp = ("o.txt","r"))==NULL)就可以了

exit(0)

while(!feof(fp))

{ch=fgetc(fp)

printf("%c",&ch) //改成printf("%c",ch),加上取地址符就变成读取ch的内存值了

}

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6794000.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存