用C语言输出文件问题,整数100输出到a.txt中,结果显示是d

来源:百度知道 编辑:UC知道 时间:2024/05/22 23:49:32
#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>

int main()
{
int i;
i=100;
FILE *fp;
fp=fopen("wang.txt","w");
fwrite(&i,sizeof(int),1,fp);
cout<<i<<endl;

return 1;
}
为什么那?

因为d的ASCII码是100.
要想看到100,那么输入的就要是字符串"100",而不是整数100.

整型数写入ASCII码文件会被自动转换成ASCII字符。加入下两句就可以了

int main()
{
int i=100;
char p[5]; //保存整型数转换后的字符数组

FILE *fp;
sprintf(p,"%d",i); //将整型数格式化成字符型
fp=fopen("wang.txt","w");
fwrite(p,sizeof(int),1,fp);
cout<<i<<endl;

return 0;
}

fwrite是按二进制来写的,而d的ascii码就是10进制数100