请教大家,帮我看看哪里错了

来源:百度知道 编辑:UC知道 时间:2024/09/28 17:42:58
#include "stdio.h"
#include "stdlib.h"
main()
{ FILE *p;
int i=5;
p=fopen("x.txt","w");
fwrite(&i,sizeof(int),1,p);
fclose(p);
}
为什么打开x.txt是乱码,如果改为char型输入就没问题,为什么??
那应该怎么改呢,怎么输入一个整数5进去,不要字符,谢谢!!想了两个小时想不明白,郁闷!!

你用的是i=5,它在保存是就是直接保存的二进制代码5,也就是ASCII为5的那个字符(也可能不是字符,我没看过),当你打开x.txt进看到的就是5的ASCII代表的字符(乱码),当你保存为char的,保存的是5的ASCII码,所以你打开时就不是乱码,很多企业的面试题就有这样的,不知道你看懂没,