fgets() - C語言庫函數

C庫函數 char *fgets(char *str, int n, FILE *stream) 讀取從指定的流一行,並將其存儲到由str指向的字串。停止時,無論第(n-1)個字元讀取,讀取換行符,或達到最終檔,以先到者為准。

聲明

以下是聲明 fgets() 函數。

char *fgets(char *str, int n, FILE *stream)

參數

  • str -- 這是字串讀取存儲的字元數組的指針。

  • n -- 這是最大的被讀取的字元數(包括最後的空字元)。通常情況下,通過使用str是數組的長度。 

  • stream -- 這是一個檔對象標識流中讀取字元的指針。

返回值

成功,該函數返回的str參數相同。如果遇到任何字元被讀取完的檔,str的內容保持不變,並返回一個空指針。
 
如果發生錯誤,則返回空指針。

例子

下麵的例子顯示的使用fgets() 函數。

#include <stdio.h>

int main()
{
   FILE *fp;
   char str[60];

   /* opening file for reading */
   fp = fopen("file.txt" , "r");
   if(fp == NULL) {
      perror("Error opening file");
      return(-1);
   }
   if( fgets (str, 60, fp)!=NULL ) {
      /* writing content to stdout */
      puts(str);
   }
   fclose(fp);

   return(0);
}

假設我們有一個文本檔 file.txt,它具有以下的內容。此檔將被作為我們的示例程式輸入:

This is Tutorials zaixian

讓我們編譯和運行上面的程式,這將產生以下結果:

This is Tutorials zaixian

上一篇: fgetc() - C語言庫函數 下一篇: fputc() - C語言庫函數