-1

例如,如果我想使用 c++ 将数字(假设它是十六进制格式)写入二进制文件,

#include <fstream>
#include <iostream>

using namespace std;

int main()
{
    int num = 0xabcd;
    ofstream outfile("tmp.bin", ios::out | ios::binary);
    outfile.seekp(0x8000, ios_base::beg);
    outfile.write(num, sizeof(num));
    return 0;
}

这个程序不会运行,因为ostream& write()它只char* chars[]作为它的第一个参数,而我需要将一个int类型号写入num二进制文件“tmp.bin”。

期望的结果是,当我以十六进制模式查看“tmp.bin”时,我可以看到ab cdaddress 0x8000。我想知道这是否可能,有人可以帮助我吗?非常感谢。

4

1 回答 1

1

你可以把你intchar*

outfile.write((char*)&num, sizeof(num));
于 2012-06-13T19:08:11.720 回答