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 Yiibai
让我们编译和运行上面的程序,这将产生以下结果:
This is Tutorials Yiibai