次のコード行は、符号なしのint値をファイルに書き込みますが、ファイルの内容は読み取れません。出力ファイルが壊れていたり、ガベージで埋められているのはなぜですか? (期待値)
struct rabin_polynomial
{
uint64_t start;
uint16_t length;
struct rabin_polynomial *next_polynomial;
};
fprintf(out_file, "%llu,%u",poly->start,poly->length);
コードの出力をコマンドライン画面に表示するのではなく、コードを読むことができます。
ファイル "out_file"はバイナリモードでは開かれません。
ここ出力ファイルの内容の一部:
-ÍÍÍÍÍÍp\y";^æó r\ ÍÍÍÍ- ÍÍÍÍÍÍ
Ø∿»Iðr\ ÍÍÍÍ- wÍÍÍÍÍÍ7OT-OØÚ‚\ ÍÍÍͤ* L ÍÍÍÍÍÍî›ùçÉç`‚\ ÍÍÍÍð3 ÍÍÍÍÍÍ
Ø∿»I°‚\ ÍÍÍÍðC ÍÍÍÍÍÍíK¬è‹Ç{ ƒ\ ÍÍÍÍðS • ÍÍÍÍÍÍ-Ló3lJ–ÞPƒ\ ÍÍÍÍ…]
そして、ここに期待置かれた:
0,2861
2861,4096
6957,3959
10916,2380
13296,4096
17392,4096
両方の番号を読み取ることはできませんか? –
対応するファイル内容/ファイルの16進ダンプと、その出力の期待値を含めてください。最初にstdoutにスローするのが最も簡単かもしれません。 –
@JoachimPileborg出力の一部を投稿しました – John