`

fgets, fgetws

阅读更多

Run-Time Library Reference
fgets, fgetws

Get a string from a stream.

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

Parameters

string
Storage location for data.
n
Maximum number of characters to read.
stream
Pointer to FILE structure.

Return Value

Each of these functions returns stringNULL is returned to indicate an error or an end-of-file condition. Use feof orferror to determine whether an error occurred.

Remarks

The fgets function reads a string from the input stream argument and stores it in stringfgets reads characters from the current stream position to and including the first newline character, to the end of the stream, or until the number of characters read is equal to n – 1, whichever comes first. The result stored in string is appended with a null character. The newline character, if read, is included in the string.

fgetws is a wide-character version of fgets.

fgetws reads the wide-character argument string as a multibyte-character string or a wide-character string according to whether stream is opened in text mode or binary mode, respectively. For more information about using text and binary modes in Unicode and multibyte stream-I/O, see Text and Binary Mode File I/O and Unicode Stream I/O in Text and Binary Modes.

Generic-Text Routine Mappings

TCHAR.H routine _UNICODE & _MBCS not defined _MBCS defined _UNICODE defined
_fgetts fgets fgets fgetws

Requirements

Function Required header Compatibility
fgets <stdio.h> ANSI, Win 98, Win Me, Win NT, Win 2000, Win XP
fgetws <stdio.h> or <wchar.h> ANSI, Win 98, Win Me, Win NT, Win 2000, Win XP

For additional compatibility information, see Compatibility in the Introduction.

Libraries

All versions of the C run-time libraries.

Example

// 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( (stream = fopen( "crt_fgets.txt", "r" )) != NULL )
   {
      if( fgets( line, 100, stream ) == NULL)
         printf( "fgets error\n" );
      else
         printf( "%s", line);
      fclose( stream );
   }
}

Input: crt_fgets.txt

Line one.
Line two.

Output

Line one.

See Also

Stream I/O Routines | fputs | gets | puts | Run-Time Routines and .NET Framework Equivalents

分享到:
评论

相关推荐

    C语言实现从文件中读取数据

    解决这个问题的一种方法是使用宽字符和宽字符流,如`fgetws()`和`fputws()`。 此外,对于大型文件,一次性读取整个文件可能不切实际,这时可以使用循环逐步读取文件内容,或者使用`fseek()`和`ftell()`来控制文件...

    非常好用的C语言控制输入封装

    1. 使用宽字符(如`wscanf()`、`fgetws()`)处理Unicode输入,以支持不同语言的字符。 2. 考虑到安全性,避免使用可能导致缓冲区溢出的`gets()`函数。 3. 在可能的情况下,优先选择读取整个行的函数(如`fgets()`...

    文件读取 文件读取C

    在C语言中,"A版"通常代表ASCII编码的窄字符,而"W版"可能指的是宽字符(如UTF-16),它们使用`fopen()`时的"w"和"wb"模式,以及`fread()`和`fwrite()`的宽字符版本,如`fgetws()`和`fputws()`。 总的来说,"文件...

    MFC读UNICODE、ANSI格式文件的程序

    在MFC程序中,直接读取UNICODE文件可以使用`fgetws`函数,它是`fgets`的宽字符版本。在示例代码中,程序打开文件"E:\inform1.txt",跳过前两个字节(可能是BOM,Unicode字节顺序标记),然后使用`fgetws`读取每行...

    C-program-inputs

    另外,当处理多行输入或者大量数据时,可能需要使用`fscanf`或`fgetws`来从文件中读取输入。这些函数的工作方式类似于`scanf`和`fgets`,但它们从文件流而不是标准输入读取。 在处理用户输入时,还需要注意缓冲区的...

    C语言UNICODE和ANSI函数对照表

    - **_fgetts/fgets/fgetws**: 从流中读取一行文本,分别对应ANSI环境下的`fgets`和UNICODE环境下的`fgetws`。 - **_fputtcfputcfputwc**: 向流中写入单个字符,分别对应ANSI环境下的`fputc`和UNICODE环境下的`fputwc...

    C++ Unicode SBCS 函数对照表.doc

    - `fgets/fputs`:读写字符串,`fgetws/fputws`对应宽字符串。 - `ftprintf/fscanf`:格式化输出和输入,有对应的宽字符版本`fwprintf/fwscanf`,以及安全版本`ftprintf_s/fwscanf_s`。 3. **字符串处理**: - `...

    C语言字符串和宽位处理函数

    输入和输出的宽字符函数,如`fgetwc()`、`fgetws()`、`fputwc()`、`fputws()`等,是`fgetc()`、`fgets()`、`fputc()`、`fputs()`的宽字符版本,它们处理宽字符流。另外,`getwc()`和`getwchar()`、`putwc()`和`...

    C_宽字符处理函数函数与普通函数对照表(转).docx

    - `fgetws()` 对应 `fgets()`: 从流中读取一个字符串并转换为宽字符串。 - `fputwc()` 对应 `fputc()`: 将宽字符转换为多字节字符并输出到流。 - `fputws()` 对应 `fputs()`: 将宽字符串转换为多字节字符并输出到...

    宽字符集(unicode)操作函数

    - **fgetws()**:从流中读入一个字符串并转换为宽字符串。类似 `fgets()`。 - **fputwc()**:把宽字符转换为多字节字符并且输出到标准输出。对应于 `fputc()`。 - **fputws()**:把宽字符串转换为多字节字符并且输出...

    宽字符集操作函数

    - **fgetws()** / **fgets()**:从流中读入一个字符串并转换为宽字符串。 - **fputwc()** / **fputc()**:把宽字符转换为多字节字符并且输出到标准输出。 - **fputws()** / **fputs()**:把宽字符串转换为多字节字符...

    C标准库源代码(学习C/C++必备)

    C标准库源代码\FGETWS.C C标准库源代码\FILE2.H C标准库源代码\FILEBUF.CPP C标准库源代码\FILEBUF1.CPP C标准库源代码\FILEINFO.C C标准库源代码\FILENO.C C标准库源代码\FINDADDR.C C标准库源代码\FINDFI64.C C...

Global site tag (gtag.js) - Google Analytics