_getw
从流中获取整数。
语法
int _getw(
FILE *stream
);
参数
stream
指向 FILE
结构的指针。
返回值
_getw
返回读取的整数值。 EOF
的返回值指示错误或文件尾。 但是,由于 EOF
值也是一个合法的整数值,因此使用 feof
或 ferror
验证文件尾或错误条件。 如果 stream
为 NULL
,则会调用无效的参数句柄,如参数验证中所述。 如果允许继续执行,则将 errno
设置为 EINVAL
并且该函数返回 EOF
中所述。
备注
_getw
函数从与 int
关联的文件中读取类型 stream
的下一个二进制值,并递增关联的文件指针(如果有)以指向下一个未读字符。 _getw
未对流中的项采用任何特定的对齐方式。 使用 _getw
可能导致出现移植问题,因为 int
类型的大小和 int
类型中的字节顺序因系统而异。
默认情况下,此函数的全局状态范围限定为应用程序。 若要更改此行为,请参阅 CRT 中的全局状态。
要求
例程 | 必需的标头 |
---|---|
_getw |
<stdio.h> |
有关兼容性的详细信息,请参阅 兼容性。
示例
// crt_getw.c
// This program uses _getw to read a word
// from a stream, then performs an error check.
#include <stdio.h>
#include <stdlib.h>
int main( void )
{
FILE *stream;
int i;
if( fopen_s( &stream, "crt_getw.txt", "rb" ) )
printf( "Couldn't open file\n" );
else
{
// Read a word from the stream:
i = _getw( stream );
// If there is an error...
if( ferror( stream ) )
{
printf( "_getw failed\n" );
clearerr_s( stream );
}
else
printf( "First data word in file: 0x%.4x\n", i );
fclose( stream );
}
}
输入:crt_getw.txt
Line one.
Line two.
输出
First data word in file: 0x656e694c