C语言 定义一个16进制数怎麽写入文本中~

unsigned long i = 0x98;
fp = fopen("test.cfg","rt+");
fputs(i,fp);

这样写进去是二进制,因为fputs只能写二进制,求同样方法将16进制怎麽写入文件。不想用数组,(或者使用数组怎麽将已经定义好的变量弄到数组裏面)谢谢!

为数组赋值即可将变量的值“移动”到数组中
你可以用fprintf来进行格式化输出追问

小弟比较笨,请明示,谢谢!

追答

#include
#include
int main()
{
int n;
FILE *fp;
scanf("%o",&n);
if(NULL==(fp=fopen("1.txt","w")))
{
printf("创建文件错误!\n");
return 1;
}
fprintf(fp,"%o",n);
fclose(fp);
getch();
return 0;
}

追问

这样应该是需要手动输入的数值,我的意思是变量已经是固定的了,将固定的变量写到文件中

追答

fprintf(fp,"%o",一个变量);
你对“一个变量”爱怎么处理怎么处理
使用更高级的数据结构也可以

追问

理论上应该可以的,不知道为什麽写进去,直接用记事本打开是乱码,用UltraEdit打开是如下图片显示。 fprintf(fp,"%x",i): i = 8001,如果写完之後可以用记事本打开显示正常应该怎麽弄哦。。。

追答

怎么显示不正常,我的正常...

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-02-26
unsiged int buf[10];
buf[1]=ox98;
你可以i不用longd的 用 int 就好
buf[2]=i;
这样就可以了本回答被网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网