【发布时间】:2014-06-18 16:06:51
【问题描述】:
我尝试使用 ostream 将 32 位整数写入文件。我正在使用
ostream file;
map<unsigned char, int32_t> histogram;
//…
file << reinterpret_cast<char*>(&histogram[i]);
除了最后一个数字(在我的例子中是 11328,它是二进制的 40 2C 00 00)之外,它运行良好,但只有 40 2C 被写入文件。
这是同一个数字,但是当我要再次导入文件时,我想假设每个数字都以 32 位编码。
我做错了什么?
【问题讨论】:
-
多一点代码、示例输入、预期输出和示例输出将有助于诊断问题。
-
你很幸运,这一切都奏效了。
-
所以你想写一个二进制文件,不是吗?然后转换为指针是错误的方法。