| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2034 人关注过本帖
标题:往文件中写数据的问题?
只看楼主 加入收藏
justwant
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2008-6-8
收藏
 问题点数:0 回复次数:7 
往文件中写数据的问题?
fwrite往txt文件中只能写char类型的,写int的就会乱码;
fprintf和vfprintf可以写int的数据,但是一次只能写一个,不能写一串,例如要写一个int的数组。也许是我不会
请问有谁知道怎么做吗
搜索更多相关主题的帖子: 数据 文件 
2008-06-20 18:47
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
当然,fwrite是以二进制的方式把int数据写进文件中。如果你想以ASCII码的形式写入,可以用fprintf函数。

int a = 1220;
fprintf(fp, "%d  %d  %d  %d  %d  %d", a, a, a, a, a, a);
这样就写了6个数据了,怎么只能写1个???

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-06-20 18:53
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1705
专家分:4345
注 册:2007-12-27
收藏
得分:0 
二进制数据文件本身看起来就像乱码,太正常了。
文件是给程序读的,那么fwrite写的只要能够用fread读回来就可以了,别在乎它看起来什么样。
要是文件是给眼睛看的,那就自己写一个函数循环调用fprintf什么的好了。
2008-06-20 18:53
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
写int数组可以这样:
for(int i = 0; i < 10; i++)
  fprintf(fp, "%d  ", array[i]);

fp为文件指针,array为数组

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-06-20 18:54
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
赞3#的……

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-06-20 19:11
justwant
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2008-6-8
收藏
得分:0 
受教了
2008-06-20 19:42
himpo
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:192
专家分:123
注 册:2008-5-16
收藏
得分:0 
回复 3# forever74 的帖子
好像在不用看文件的情况下,直接用fread和fwrite,
可以省却代码之间的转换


是这样子么?
2008-06-21 08:56
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
恩,就是这样。
建议弄个结构体,然后一起给fwrite了……

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-06-21 09:53
快速回复:往文件中写数据的问题?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020513 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved