0

我需要直接写入文件(文件格式/扩展名无关紧要)。我想要做的是,例如向它写入A,如果我用十六进制编辑器打开文件,它将显示A,也就是十进制值10。

4

2 回答 2

4
#include <iostream>
int main()
{
    std::ofstream fout("myfile.ext", std::ios::binary);
    std::ofstream::char_type byte = 10; //or = 0xA
    fout.put(byte);
}
于 2013-02-14T11:59:02.377 回答
1

好吧,如果您写入'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整数中字节的大小和顺序可能因架构而异。

于 2013-02-14T12:01:18.067 回答