當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C語言 fgets用法及代碼示例


C語言stdio頭文件(stdio.h)中fgets函數的用法及代碼示例。

用法:

char * fgets ( char * str, int num, FILE * stream );
從流中獲取字符串
從讀取字符並將它們作為C字符串存儲到str直到 (-1)已讀取字符或換行符或文件結束達到,以先發生的為準。

換行符使fgets停止閱讀,但該函數將其視為有效字符,並包含在複製到的字符串中str

複製到的字符後會自動附加一個終止的空字符str

注意fgetsgets: 不僅fgets接受一個參數,還允許指定最大尺寸str並在字符串中包含任何結尾的換行符。

參數

str
指向數組的指針chars複製讀取的字符串的位置。
num
要複製的最大字符數str(包括終止的null-character)。
stream
指向一個指針FILE標識輸入流的對象。
stdin可用作從中讀取的參數標準輸入

返回值

成功後,函數返回str
如果文件結束嘗試讀取字符時遇到有效指標設置了(feof)。如果在讀取任何字符之前發生這種情況,則返回的指針為空指針(並且str維持不變)。
如果發生讀取錯誤,則錯誤指示(ferror)設置,並且還返回空指針(但由指向的內容str可能已更改)。

示例

/* fgets example */
#include <stdio.h>

int main()
{
   FILE * pFile;
   char mystring [100];

   pFile = fopen ("myfile.txt" , "r");
   if (pFile == NULL) perror ("Error opening file");
   else {
     if ( fgets (mystring , 100 , pFile) != NULL )
       puts (mystring);
     fclose (pFile);
   }
   return 0;
}


本示例讀取的第一行myfile.txt或前99個字符(以先到者為準),然後將其打印在屏幕上。

相關用法


注:本文由純淨天空篩選整理自C標準庫大神的英文原創作品 C fgets function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。