0
我寫使用以下調用了3個整數文件到fprintf
:寫3個整數文件並恢復他們回來使用fprintf和的fscanf
FILE* fid = fopen("c:\\a.bin", "wb");
a = fprintf(fid, "%d", 2);
b = fprintf(fid, "%d", 576);
c = fprintf(fid, "%d", 5);
fclose(fid);
然後我試圖回到使用下面的調用讀3個整數:
int a, b, c;
a = b = c = 0;
FILE* fid = fopen("c:\\a.bin", "rb");
fscanf(fid, "%d%d%d", &a, &b, &c);
調用的fscanf
這些值之後,b和c是25765,分別爲0和0。我怎樣才能恢復我的號碼?爲什麼fprintf
的調用只寫入5個字節而不是12個?
分界符是必需的。 – BLUEPIXY
你可以顯示你用來從文件中讀取的代碼..? –
1.你可能意思是「...調用fprintf' ...」; 2.您可能需要打開文件進行寫入,而不是二進制寫入,所以使用''w「'而不是''wb」'; 3.'fscanf'總是返回一個整數,它是一個錯誤檢查代碼。你最好從文件發佈代碼讀取,所以我們可以幫助你。 –