_getw

从流中获取整数。

语法

int _getw(
   FILE *stream
);

参数

stream
指向 FILE 结构的指针。

返回值

_getw 返回读取的整数值。 EOF 的返回值指示错误或文件尾。 但是,由于 EOF 值也是一个合法的整数值,因此使用 feofferror 验证文件尾或错误条件。 如果 streamNULL,则会调用无效的参数句柄,如参数验证中所述。 如果允许继续执行,则将 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

另请参阅

流 I/O
_putw