Windows File I/O vs. C Run-time File I/OLast reviewed: July 22, 1997Article ID: Q11988 |
3.00 3.10
WINDOWS
kbprg
The information in this article applies to:
SUMMARYThe following functions are provided by the Microsoft C Run-time Library (CRT) and the Windows API to create a file:
Return Type API or Function Category -------------------------------------------- HFILE OpenFile Windows API HFILE _lopen/_lcreat Windows API int _open/_creat CRT FILE * fopen CRTThese return types (HFILE, int, and FILE *) are not compatible, so they can not be used in a function which is expecting the other type. The HFILEs are handles to operating system files (MS-DOS file handles), the ints are CRT file handles, and the FILE *s are pointers to structures which represent a CRT stream. For files opened with OpenFile(), _lopen, and _lcreat, the common file manipuluation routines that you should use are:
_lclose _llseek _lread _lwriteFor files opened with _open() and _creat(), the common file manipulation routines that you should use are:
_close _lseek _read _writeFor files opened with fopen, the common file manipulation routines that you should use are:
fclose fseek fread fwriteFor other input and output functions, please check the documentation for information on whether they are intended for use with MS-DOS handles (HFILE), streams (FILE *), or low-level I/O (int).
MORE INFORMATIONAn application should use the OpenFile() API any time an MS-DOS file handle is required. The open functions do not necessarily open a file in binary raw mode; the application is required to set the binary attribute explicitly. The OpenFile() function automatically performs this step. If the filename parameter specifies only a filename and extension, the open functions search for a matching file only in the current directory. In Windows, the OpenFile() API creates an MS-DOS file handle through which an application can access Windows-specific files. OpenFile() initially opens the file in binary raw mode by performing an MS-DOS Interrupt 21h Function 3Dh. If the lpFileName parameter specifies only a filename and an extension, OpenFile() searches for a matching file in the following directories:
|
Additional reference words: 3.00 3.10
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |