Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer


Gets an integer from a stream.

int _getw( 
   FILE *stream 


Pointer to FILE structure.

Return Value

_getw returns the integer value read. A return value of EOF indicates either an error or end of file. However, because the EOF value is also a legitimate integer value, use feof or ferror to verify an end-of-file or error condition.


The _getw function reads the next binary value of type int from the file associated with stream and increments the associated file pointer (if there is one) to point to the next unread character. _getw does not assume any special alignment of items in the stream. Problems with porting can occur with _getw because the size of the int type and the ordering of bytes within the int type differ across systems.


Routine Required header Compatibility
_getw <stdio.h> Win 98, Win Me, Win NT, Win 2000, Win XP

For additional compatibility information, see Compatibility in the Introduction.


All versions of the C run-time libraries.


// 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( (stream = fopen( "crt_getw.txt", "rb" )) == NULL )
      printf( "Couldn't open file\n" );
      /* Read a word from the stream: */
      i = _getw( stream );

      /* If there is an error... */
      if( ferror( stream ) )
         printf( "_getw failed\n" );
         clearerr( stream );
         printf( "First data word in file: 0x%.4x\n", i );
      fclose( stream );

Input: crt_getw.txt

Line one.
Line two.


First data word in file: 0x656e694c

See Also

Stream I/O Routines | _putw | Run-Time Routines and .NET Framework Equivalents

© 2015 Microsoft