C庫函數(shù) char *fgets(char *str, int n, FILE *stream) 讀取從指定的流一行,并將其存儲到由str指向的字符串。停止時,無論第(n-1)個字符讀取,讀取換行符,或達(dá)到最終文件,以先到者為準(zhǔn)。
以下是聲明 fgets() 函數(shù)。
char *fgets(char *str, int n, FILE *stream)
str -- 這是字符串讀取存儲的字符數(shù)組的指針。
n -- 這是最大的被讀取的字符數(shù)(包括最后的空字符)。通常情況下,通過使用str是數(shù)組的長度。
stream -- 這是一個文件對象標(biāo)識流中讀取字符的指針。
下面的例子顯示的使用fgets() 函數(shù)。
#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); }
假設(shè)我們有一個文本文件 file.txt,它具有以下的內(nèi)容。此文件將被作為我們的示例程序輸入:
This is Tutorials Yiibai
讓我們編譯和運(yùn)行上面的程序,這將產(chǎn)生以下結(jié)果:
This is Tutorials Yiibai