fwrite
將資料寫入資料流。
size_t fwrite( const void *buffer, size_t size, size_t count, FILE *stream );
參數
buffer
要寫入之資料的指標。size
項目大小 (位元組)。count
要寫入之項目的最大數量。stream
FILE 結構的指標。
傳回值
fwrite 會傳回實際寫入的完整項目數量,若有發生錯誤,此數量可能會少於 count。 此外,若發生錯誤,也無法判斷檔案位置指標。 若 stream 或 buffer 均為 Null 指標,或是要寫入的奇數位元組是在 Unicode 模式中指定,則此函示會叫用無效參數處理常式,如 參數驗證 中所述。 若允許繼續執行,此函式會將 errno 設為 EINVAL,並傳回 0。
備註
fwrite 函式會寫入最多 count 的項目數,且每個項目均為 size 的長度,並從 buffer 寫入至 stream。 與 stream 相關的檔案指標 (若有的話),會隨著實際寫入的位元組數而累加。 若在文字模式中開啟 stream,則會將每個換行字元取代為歸位字元 (換行字元組)。 這種取代不會對傳回值產生影響。
若在 Unicode 轉譯模式中開啟 stream,例如,透過呼叫 fopen 開啟 stream,並使用包含 ccs=UNICODE、ccs=UTF-16LE 或 ccs=UTF-8 的模式參數;或者此模式已透過使用 _setmode 以及包含 _O_WTEXT、_O_U16TEXT 或 _O_U8TEXT 的模式參數變更為 Unicode 轉譯模式:則 buffer 會解譯為包含 UTF-16 資料之 wchar_t 陣列的指標。 嘗試以此模式寫入奇數位元組會導致參數驗證錯誤。
因為此函示會鎖定呼叫執行緒,這是安全執行緒。 如需非鎖定版本,請參閱 _fwrite_nolock。
需求
函式 |
必要的標頭 |
---|---|
fwrite |
<stdio.h> |
如需其他相容性資訊,請參閱相容性。
範例
請參閱 fread 的範例。