我需要直接写入文件(文件格式/扩展名无关紧要)。我想做的是,例如,将A写入其中,如果我用十六进制编辑器打开文件,它会显示A,也就是十进制的值10。
#include <iostream>
int main()
{
std::ofstream fout("myfile.ext", std::ios::binary);
std::ofstream::char_type byte = 10; //or = 0xA
fout.put(byte);
}
如果将'A'
写入文件,我希望十六进制编辑器显示41。
但假设我们有一个int x = 0xa;
,那么将其写入文件的方法是:
int x = 0xa;
ofstream out("myfile.txt", ios::out|ios::binary);
out.write((char *)&x, sizeof(x));
out.close();
请注意,此代码不是高度可移植的,因为int
的大小和整数中的字节顺序可能会随着体系结构的不同而变化。