fwrite ()- 寫入項目

格式

#include <stdio.h>
size_t fwrite(const void *buffer, size_t size, size_t count,
                 FILE *stream);

語言層次

ANSI

安全執行緒

說明

fwrite() 函數最多寫入 count 個項目,長度為 size 個位元組,從 緩衝區 到輸出 串流

回覆值

fwrite() 函數會傳回已順利寫入的完整項目數,如果發生錯誤,則可能小於 count

使用 fwrite() 作為記錄輸出時,請將 size 設為 1 ,並將 count 設為記錄長度,以取得寫入的位元組數。 使用記錄 I/O 時,一次只能寫入一筆記錄。

錯誤碼的值可以設為:
Value
意義
ECONVERT
發生轉換錯誤。
ENOTWRITE
檔案未開啟以進行寫入作業。
EPAD
寫入作業發生填補。
EPUTANDGET
讀取作業之後發生無效的寫入作業。
ESTDERR
無法開啟 stderr
ESTDIN
無法開啟 stdin
ESTDOUT
無法開啟 stdout
ETRUNC
I/O 作業發生截斷。
EIOERROR
發生非可回復I/O錯誤。
EIORECERR
發生可回復I/O錯誤。

範例

此範例以二進位格式將 NUM long 整數寫入串流。
#include  <stdio.h>
#define  NUM  100
 
int main(void)
{
   FILE *stream;
   long list[NUM];
   int numwritten;
   int i;
 
   stream = fopen("MYLIB/MYFILE", "w+b");
 
   /* assign values to list[] */
   for (i=0;  i<=NUM; i++)
       list[i]=i;
 
   numwritten = fwrite(list, sizeof(long), NUM, stream);
   printf("Number of items successfully written = %d\n", numwritten);
}

相關資訊