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

时间:2013-02-14 11:56:13

标签: c++ file

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

2 个答案:

答案 0 :(得分:4)

#include <iostream>
int main()
{
    std::ofstream fout("myfile.ext", std::ios::binary);
    std::ofstream::char_type byte = 10; //or = 0xA
    fout.put(byte);
}

答案 1 :(得分: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的大小和整数内的字节顺序可能会因架构而异。