C 語言基礎(chǔ)教程

C 語言流程控制

C 語言函數(shù)

C 語言數(shù)組

C 語言指針

C 語言字符串

C 語言結(jié)構(gòu)體

C 語言文件

C 其他

C 語言參考手冊

C 庫函數(shù) fgets() 使用方法及示例

C 標準庫 - <stdio.h>

C 庫函數(shù) char *fgets(char *str, int n, FILE *stream) 從指定的流 stream 讀取一行,并把它存儲在 str 所指向的字符串內(nèi)。當讀取 (n-1) 個字符時,或者讀取到換行符時,或者到達文件末尾時,它會停止,具體視情況而定。

聲明

下面是 fgets() 函數(shù)的聲明。

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

參數(shù)

  • str -- 這是指向一個字符數(shù)組的指針,該數(shù)組存儲了要讀取的字符串。

  • n -- 這是要讀取的最大字符數(shù)(包括最后的空字符)。通常是使用以 str 傳遞的數(shù)組長度。

  • stream -- 這是指向 FILE 對象的指針,該 FILE 對象標識了要從中讀取字符的流。

返回值

如果成功,該函數(shù)返回相同的 str 參數(shù)。如果到達文件末尾或者沒有讀取到任何字符,str 的內(nèi)容保持不變,并返回一個空指針。

如果發(fā)生錯誤,返回一個空指針。

在線示例

下面的示例演示了 fgets() 函數(shù)的用法。

#include <stdio.h>
int main()
{
   FILE *fp;
   char str[60];
   /* 打開用于讀取的文件 */
   fp = fopen("file.txt" , "r");
   if(fp == NULL) {
      perror("打開文件時發(fā)生錯誤");
      return(-1);
   }
   if( fgets (str, 60, fp)!=NULL ) {
      /* 向標準輸出 stdout 寫入內(nèi)容 */
      puts(str);
   }
   fclose(fp);
   
   return(0);
}

假設(shè)我們有一個文本文件 file.txt,它的內(nèi)容如下。文件將作為示例中的輸入:

We are in 2009

讓我們編譯并運行上面的程序,這將產(chǎn)生以下結(jié)果:

We are in 2009

C 標準庫 - <stdio.h>

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清