目录

char *fgets(char *str, int n, FILE *stream)

描述 (Description)

C库函数char *fgets(char *str, int n, FILE *stream)从指定的流中读取一行并将其存储到str指向的str 。 当读取(n-1)字符,读取换行符或达到文件结尾时(以先到者为准(n-1)它会停止。

声明 (Declaration)

以下是fgets()函数的声明。

char *fgets(char *str, int n, FILE *stream)

参数 (Parameters)

  • str - 这是指向存储字符串读取的字符数组的指针。

  • n - 这是要读取的最大字符数(包括最终的空字符)。 通常,使用以str传递的数组的长度。

  • stream - 这是指向FILE对象的指针,该对象标识从中读取字符的流。

返回值 (Return Value)

成功时,该函数返回相同的str参数。 如果遇到文件结尾且未读取任何字符,则str的内容保持不变,并返回空指针。

如果发生错误,则返回空指针。

例子 (Example)

以下示例显示了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 2012

现在,让我们编译并运行上面的程序,它将产生以下结果 -

We are in 2012
↑回到顶部↑
WIKI教程 @2018