fgets, fgetws

获取从流的字符串。

char *fgets( 
   char *str,
   int n,
   FILE *stream 
);
wchar_t *fgetws( 
   wchar_t *str,
   int n,
   FILE *stream 
);

参数

  • str
    数据的存储位置。

  • n
    读取的最大字符数。

  • stream
    为 FILE 结构的指针。

返回值

这些函数都返回一个 str。 NULL 返回一个错误或一个文件关闭条件。 使用 feof 或 ferror 确定是否发生了错误。 如果 str 或 stream 是 null 指针,或者 n 小于或等于零,此函数调用的参数无效处理程序,如 参数验证所述。 如果执行允许继续, errno 设置为 EINVAL ,函数返回 NULL。

请参见 _doserrno、 errno、 _sys_errlist 和 _sys_nerr 有关这些内容的更多信息以及其他情况下,错误代码。

备注

fgets 函数在 str读取输入 stream 参数的字符串并将其存储。 fgets 读取当前流位置的字符。,并包含第一个换行符,对流的末尾,或在读取的字符数与 n – 1 相等,具体看是 在 str 存储的结果附加有一个 null 字符。 换行符,因此,如果读取,在字符串中。

fgetws 是 fgets的宽字符版本。

fgetws 分别读取宽字符参数 str 作为多字节字符字符串或宽字符字符串,根据可能的选择 stream 在文本模式或二进制模式打开,。 有关使用文本和二进制模式的更多信息在 Unicode 和多字节流 I/O,请参见 文本和二进制架构文件 I/O中的 Unicode 文本和二进制模式的流 I/O

一般文本例程映射

TCHAR.H 实例

未定义的 _UNICODE _MBCS

定义的 _MBCS

定义的 _UNICODE

_fgetts

fgets

fgets

fgetws

要求

功能

必需的头

fgets

stdio.h

fgetws

stdio.h 或 wchar.h

有关其他的兼容性信息,请参见中介绍的 兼容性

示例

// crt_fgets.c
// This program uses fgets to display
// a line from a file on the screen.
//

#include <stdio.h>

int main( void )
{
   FILE *stream;
   char line[100];

   if( fopen_s( &stream, "crt_fgets.txt", "r" ) == 0 )
   {
      if( fgets( line, 100, stream ) == NULL)
         printf( "fgets error\n" );
      else
         printf( "%s", line);
      fclose( stream );
   }
}

输入:crt_fgets.txt

Line one.
Line two.

c37dh6kf.collapse_all(zh-cn,VS.110).gifOutput

Line one.

.NET Framework 等效项

请参见

参考

流I/O

fputs, fputws

gets, _getws

puts, _putws