C++:如何直接写入文件(无ASCII)



我需要直接写入文件(文件格式/扩展名无关紧要)。我想做的是,例如,将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的大小和整数中的字节顺序可能会随着体系结构的不同而变化。

相关内容

  • 没有找到相关文章

最新更新