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 -- 這是一個檔案物件標識流中讀取字元的指標。
下面的例子顯示的使用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 Yiibai
讓我們編譯和執行上面的程式,這將產生以下結果:
This is Tutorials Yiibai