C语言 <stdio.h> fgets() 函数
-
描述
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-这是指向FILE对象的指针,该对象标识从中读取字符的流。
-
返回值
成功后,函数将返回相同的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,其内容如下。该文件将用作示例程序的输入-We are in 2020
现在,让我们编译并运行上面的程序,它将产生以下结果-We are in 2020