當前位置:生活全書館 >

綜合知識

> c中怎麼寫檔案

c中怎麼寫檔案

1. C語言怎麼寫到檔案中

標準流程為:

c中怎麼寫檔案

1 通過fopen函式開啟檔案;

a) 原型

FILE * fopen(const char * path,const char * mode);

b) 引數

path為要開啟的檔名,可以是絕對路徑,也可以是相對路徑。

mode為開啟檔案的方式。對於寫檔案,可以是"w", "wb", "w+", "wb+","a", "a+", "ab", "ab+"等。這些模式都可以支援寫操作,區別為:

包含w的為直接寫入,如果被開啟的檔案已存在,那麼會對檔案中的原始資料進行覆蓋。

包含a的為附加模式,如果被開啟檔案已存在,那麼新寫入的內容會在檔案結尾新增。

包含b的模式,開啟的檔案按照二進位制方式進行寫入。

包含+的模式,開啟的檔案為可讀寫。

無論哪種方式,如果原始檔案不存在,則會建立該名字的新檔案。

c) 返回值

返回值為FILE *型,是一個檔案指標。後續所有操作均依賴這個檔案指標值。

如果返回值為NULL,代表出錯。常見的出錯原因可能有

檔案存在,操作者沒有寫許可權。

對檔案所在目錄沒有寫許可權。

檔案所在磁碟分割槽已滿。

2 通過fwrite/fprintf/fputc/fputs等函式寫入資料;

a) size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream);

功能為向開啟的檔案stream中寫入每塊大小為size共計count塊資料,資料的起始地址為buffer,返回實際寫入的塊數,出錯時返回負值。

b) int fprintf (FILE* stream, const char*format, [argument]);

功能為向開啟的檔案stream中格式化輸入資料,格式有format決定,後續引數為寫入的資料,功能類似於printf。返回實際寫入字元值,出錯時返回負值。

c) int fputc (int c, FILE*fp);

功能為向開啟的檔案fp中寫入字元c。該函式僅寫入一個字元。引數c雖然為int型,但該函式僅使用其低八位。 返回值為輸入引數c的ASCII碼,出錯時返回-1.

d) int fputs (const char *s, FILE *stream);

功能為向開啟的檔案stream寫入字串s(不包括結束符'