当前位置: 代码迷 >> C语言 >> 往文件中写数据的问题?
  详细解决方案

往文件中写数据的问题?

热度:414   发布时间:2008-06-20 18:47:41.0
往文件中写数据的问题?
fwrite往txt文件中只能写char类型的,写int的就会乱码;
fprintf和vfprintf可以写int的数据,但是一次只能写一个,不能写一串,例如要写一个int的数组。也许是我不会
请问有谁知道怎么做吗
搜索更多相关的解决方案: 数据  文件  

----------------解决方案--------------------------------------------------------
当然,fwrite是以二进制的方式把int数据写进文件中。如果你想以ASCII码的形式写入,可以用fprintf函数。

int a = 1220;
fprintf(fp, "%d  %d  %d  %d  %d  %d", a, a, a, a, a, a);
这样就写了6个数据了,怎么只能写1个???
----------------解决方案--------------------------------------------------------
二进制数据文件本身看起来就像乱码,太正常了。
文件是给程序读的,那么fwrite写的只要能够用fread读回来就可以了,别在乎它看起来什么样。
要是文件是给眼睛看的,那就自己写一个函数循环调用fprintf什么的好了。
----------------解决方案--------------------------------------------------------
写int数组可以这样:
for(int i = 0; i < 10; i++)
  fprintf(fp, "%d  ", array[i]);

fp为文件指针,array为数组
----------------解决方案--------------------------------------------------------
赞3#的……
----------------解决方案--------------------------------------------------------
受教了
----------------解决方案--------------------------------------------------------
回复 3# forever74 的帖子
好像在不用看文件的情况下,直接用fread和fwrite,
可以省却代码之间的转换


是这样子么?
----------------解决方案--------------------------------------------------------
恩,就是这样。
建议弄个结构体,然后一起给fwrite了……
----------------解决方案--------------------------------------------------------
  相关解决方案