#include <dos.h> unsigned int _dos_read(int handle, void *buffer, unsigned int count, unsigned int *result);
This is a direct connection to the MS-DOS read function call (%ah = 0x3F). No conversion is done on the data; it is read as raw binary data. This function reads from handle into buffer count bytes. count value may be arbitrary size (for example > 64KB). It puts number of bytes read into result if reading is successful.
See section _dos_open. See section _dos_creat. See section _dos_creatnew. See section _dos_write. See section _dos_close
Returns 0 if successful or DOS error code on error (and sets errno to EACCES or EBADF)
not ANSI, not POSIX
int handle; unsigned int result; char *filebuffer; if ( !_dos_open("FOO.DAT", O_RDONLY, &handle) ) { puts("FOO.DAT openning was successful."); if ( (filebuffer = malloc(130000)) != NULL ) { if ( !_dos_read(handle, buffer, 130000, &result) ) printf("%u bytes read from FOO.DAT.\n", result); else puts("Reading error."); ... /* Do something with filebuffer. */ ... } _dos_close(handle); }
Go to the first, previous, next, last section, table of contents.