用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;
}
为什么那?
#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