fwrite是向流中寫入資料,而fprintf是向流中寫入格式資料。兩者的共同點為向流中寫入資料,至於區別可以看看兩者的申明:
size_t fwrite(
const void *buffer,
size_t size,
size_t count,
file *stream
);int fprintf(
file *stream,
const char *format [,
argument ]...
);前者fwrite寫入流stream中的資料是buffer指定的內容,內容的位元組大小分別由size和count兩個引數來指定,因此寫入流stream中的內容有可能是亂碼,但是有效的資料。
後者fprintf寫入流stream中的資料則由argument來指定,並且這些argument的內容分別由format指定的格式來顯示,因此寫入stream的內容通常來說是文字字元流,當然,也允許寫入格式亂碼。
兩者都可以將文字寫入流stream中。比如:
fwrite("hello world!", 1, 12, fp);
與fprintf(fp, "%s", "hello world!");
等價。
C語言fwrite和fprintf函式
c語言把檔案看作乙個字元 位元組 的序列,即由乙個乙個字元 位元組 的資料順序組成。根據資料的組織形式,可分為ascii檔案和二進位制檔案。ascii檔案又稱為文字 text 檔案,它的每個位元組放乙個ascii 代表乙個字元。二進位制檔案是把記憶體中的資料按其在記憶體中的儲存形式原樣輸出到磁碟上。...
fprintf與stderr stdout的使用
include void main 上面程式編譯成fprint檔案,執行顯示如下 soyo8888can t open it soyo15can t open it soyocan t open it 若將輸入重定向到乙個temp.txt檔案中,執行 fprint temp.txt 結果如下 soy...
fopen 與 fwrite 結合使用
fopen string filename string mode bool use include path false resource context resourcemode說明 r 唯讀方式開啟,將檔案指標指向檔案頭。r 讀寫方式開啟,將檔案指標指向檔案頭。w 寫入方式開啟,將檔案指標指向...