-1

たとえば、C ++を使用して数値(16進形式であるとしましょう)をバイナリファイルに書き込みたい場合は、

#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()のみ使用されるため実行されませんが、バイナリファイル「tmp.bin」に型番号を書き込む必要があります。char* chars[]intnum

望ましい結果は、「tmp.bin」を16進モードで表示するとab cd、アドレスで表示できること0x8000です。これが可能かどうか疑問に思っていますが、誰か助けてくれませんか?どうもありがとうございます。

4

1 に答える 1

1

intあなたはあなたをにキャストすることができますchar*

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