当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C语言 fgets用法及代码示例


C语言stdio头文件(stdio.h)中fgets函数的用法及代码示例。

用法:

char * fgets ( char * str, int num, FILE * stream );
从流中获取字符串
从读取字符并将它们作为C字符串存储到str直到 (-1)已读取字符或换行符或文件结束达到,以先发生的为准。

换行符使fgets停止阅读,但该函数将其视为有效字符,并包含在复制到的字符串中str

复制到的字符后会自动附加一个终止的空字符str

注意fgetsgets: 不仅fgets接受一个参数,还允许指定最大尺寸str并在字符串中包含任何结尾的换行符。

参数

str
指向数组的指针chars复制读取的字符串的位置。
num
要复制的最大字符数str(包括终止的null-character)。
stream
指向一个指针FILE标识输入流的对象。
stdin可用作从中读取的参数标准输入

返回值

成功后,函数返回str
如果文件结束尝试读取字符时遇到有效指标设置了(feof)。如果在读取任何字符之前发生这种情况,则返回的指针为空指针(并且str维持不变)。
如果发生读取错误,则错误指示(ferror)设置,并且还返回空指针(但由指向的内容str可能已更改)。

示例

/* fgets example */
#include <stdio.h>

int main()
{
   FILE * pFile;
   char mystring [100];

   pFile = fopen ("myfile.txt" , "r");
   if (pFile == NULL) perror ("Error opening file");
   else {
     if ( fgets (mystring , 100 , pFile) != NULL )
       puts (mystring);
     fclose (pFile);
   }
   return 0;
}


本示例读取的第一行myfile.txt或前99个字符(以先到者为准),然后将其打印在屏幕上。

相关用法


注:本文由纯净天空筛选整理自C标准库大神的英文原创作品 C fgets function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。