以下代碼行將無符號整型值寫入文件,但該文件的內容不可讀。爲什麼輸出文件損壞/被垃圾填滿? (期待號碼)
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
這兩個數字都不可讀,或者只有其中一個? – 2012-01-02 08:44:20
請包含相應的文件內容/文件十六進制轉儲以及所述輸出的預期值。把它們先扔到標準輸出可能是最簡單的。 – 2012-01-02 08:51:04
@JoachimPileborg我已經發布了部分輸出 – John 2012-01-02 09:12:51