位置:首页 > 高级语言 > C语言标准库 > fgets() - C语言库函数

fgets() - C语言库函数

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