数据对计算机而言就是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
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)