我一直在試圖寫一個整數到一個文件(打開模式是w)。 fprintf中正確地寫,但FWRITE寫廢話如何寫一個整數到一個文件(fprintf和fwrite之間的差別)
int length;
char * word = "word";
counter = strlen(word);
fwrite(&length, sizeof(int), 1, file);
fwrite(word, sizeof(char), length, file);
,結果在文件中是:
字
,但如果我用fprintf中,而不是像這樣:
int length;
char * word = "word";
counter = strlen(firstWord);
fprintf(file, "%d", counter);
fwrite(word, sizeof(char), length, file);
我在文件中得到這個結果:
4word
誰能告訴我做錯了什麼? 謝謝!
更新:我最終想改變寫作二進制文件(我將在wb模式下打開文件),我的實施會有所不同嗎?
長度未初始化。 –
@omrib:他可能喜歡把文件寫入文件;) –