勵志

勵志人生知識庫

fgets用法

fgets函式是C語言中用於從指定的輸入流中讀取一行數據並存儲在字元串中的標準庫函式。其原型為char *fgets(char *str, int n, FILE *stream)。以下是詳細信息:

參數。str是指向一個字元數組的指針,該數組用於存儲讀取到的字元串;n是要讀取的最大字元數(包括最後的空字元'\0'),通常使用以str傳遞的數組長度;stream是指向FILE對象的指針,該FILE對象標識了要從中讀取字元的流。

功能。從指定的流stream讀取一行,並把它存儲在str所指向的字元串內。當讀取(n-1)個字元時,或者讀取到換行符時,或者到達檔案末尾時,它會停止,具體視情況而定。

套用說明。如果檔案中的該行不足n-1個字元,則讀完該行就結束。如若該行(包括最後一個換行符)的字元數超過n-1,則fgets只返回一個不完整的行,但是,緩衝區總是以NULL字元結尾,對fgets的下一次調用會繼續讀該行。因此,不能直接通過fgets的返回值來判斷函式是否是出錯而終止的,應藉助feof函式或者ferror函式來判斷。

返回值。如果成功,該函式返回相同的str參數。如果到達檔案末尾或者沒有讀取到任何字元,str的內容保持不變,並返回一個空指針。如果發生錯誤,返回一個空指針。

示例。fgets(buffer, 100, file) != NULL時,表示成功讀取到字元串,並返回該字元數組的地址;若讀取失敗(例如遇到檔案結束符或發生錯誤),則返回NULL。

以上信息均來源於已有的開源平台的官方文檔和公開資料。