zhuwt2008 2015-12-10 09:03 采纳率: 33.3%
浏览 2803
已采纳

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

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

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

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

  • 写回答

5条回答 默认 最新

  • zhuwt2008 2015-12-10 13:42
    关注

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

    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)); //读取

    这可以满足需求,还有其他方法吗?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败