Article ID: 139640
Article Last Modified on 12/1/2003
/* Compile options needed:none
*/
#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h>
#include <io.h>
#include <windows.h>
void main( void )
{
HFILE OsFileHandle;
FILE *stream;
int CrtFileHandle;
OFSTRUCT Buffer;
int count = 0;
char inbuf[128];
if ( (OsFileHandle = OpenFile("test.dat", &Buffer, OF_READ))== -1){
printf( "OpenFile Failed");
exit(1);
}
/* convert OS file handle to CRT file pointer */
if ( (CrtFileHandle=_open_osfhandle(OsFileHandle,_O_RDONLY))==-1){
printf( "_open_osfhandle Failed");
exit(1);
}
/* Change handle access to stream access. */
if( (stream = _fdopen( CrtFileHandle, "r" )) == NULL ) {
printf( "_fdopen Failed");
exit( 1 );
}
while( fgets( inbuf, 128, stream ) != NULL )
count++;
/* After _fdopen, close with fclose */
fclose( stream );
printf( "Lines in file: %d\n", count );
}
Additional query words: Windows 95
Keywords: kbinfo kbcrt kbcode KB139640