1

実行時に画像ファイルを抽出するプログラムを作成する必要があります。これを行うために、II は char 配列を使用してデータを格納しました。元:

char data[]="ÿØÿà......";

16進エディタで画像を開き、データをコピーして上記のように貼り付けました。しかし、多くのエラーが発生します。(これは、画像データに ASCII 文字が使用できないバイトが含まれているためである可能性があります。例: nul、)

誰かがこれを行う方法についてアドバイスをくれます。バイト配列を作成する方法。

アドバイスありがとうございます。

4

2 に答える 2

3

文字列リテラルの代わりに数値初期化子を使用する必要があります...たとえば

const unsigned char data[] = { 0x01, 0x02, 0x03, 0x04,
                               0x05, 0x06, 0x07, 0x08 };

簡単な方法は、ファイルを読み取ってソースコードを生成する小さなスクリプトを作成することです... Pythonでは、次のようになります

data = open("datafile", "rb").read()
i = 0
while i < len(data):
    chunk = data[i:i+8]
    print ("0x%02x, " * len(chunk)) % tuple(map(ord, chunk))
    i += 8
于 2012-12-15T16:08:57.527 に答える
2

fopenまたはfstreamを使用してファイルからデータを読み取ります。リソースコンパイラを使用してファイルをexeに埋め込む場合。

于 2012-12-15T15:59:58.457 に答える