首页 新闻 搜索 专区 学院

c++把double,int等数据类型直接写入文本文件,不要先变成字符串再写入,如何写?

0
悬赏园豆:5 [已解决问题] 解决于 2015-12-10 21:56

比如0是int类型有4个字节就写4个字节,不要变成字符0再写入。还有必须能跨平台可运行于linux的。
我的代码这么写
int i1=2;
ofstream output("./1.txt", ios::binary);
output<<i1;

结果1.txt文件中保存字符2,我不是指定二进制方式ios::binary进行输出了吗?为什么还存放字符2呢??这样不行该怎么写呢?

望高手赐教啊,在线等着!

Patrickz10的主页 Patrickz10 | 初学一级 | 园豆:7
提问于:2015-12-10 17:30
< >
分享
最佳答案
0

知道答案了,应该这么写:

int i1=2;
ofstream output("./1.txt", ios::binary);
output.write((char*)(&i1),sizeof(i1)); //写入

int i2=0;
ifstream input("./1.txt",ios::binary);
input.read((char*)(&i2),sizeof(i2)); //读取

这可以满足需求,还有其他方法吗?欢迎补充!

Patrickz10 | 初学一级 |园豆:7 | 2015-12-10 21:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册