我想将二进制文件写入文件。
我正在查看函数std :: ofstream :: write()。
它需要一个指针和要写入的字节数。无论如何我可以做一些简单的事情,比如
ofstream.write(36);
而不是像......那样做两行......
int out = 36; ofstream.write((char *)& out,4);
答案 0 :(得分:2)
由于write
使用指针,因此您需要提供一个地址。在一行中执行此操作的简单方法是编写辅助函数,如下所示:
inline void write(ostream& o, int n) {
o.write(&n, sizeof(int));
}
现在你可以在一行上完成:
int foo() {
ofstream ofs("aaa");
write(ofs, 36);
write(ofs, 42);
}
答案 1 :(得分:1)
不,没有办法。