Win32 Equivalents for C Run-Time FunctionsLast reviewed: November 2, 1995Article ID: Q99456 |
The information in this article applies to:
SUMMARYMany of the C Run-time functions have direct equivalents in the Win32 application programming interface (API). This article lists the C Run-time functions by category with their Win32 equivalents or the word "none" if no equivalent exists.
MORE INFORMATIONNOTE: the functions that are followed by an asterisk (*) are part of the 16-bit C Run-time only. Functions that are unique to the 32-bit C Run-time are listed separately in the last section. All other functions are common to both C Run-times.
Buffer Manipulation_memccpy none memchr none memcmp none memcpy CopyMemory _memicmp none memmove MoveMemory memset FillMemory, ZeroMemory _swab none Character Classificationisalnum IsCharAlphaNumeric isalpha IsCharAlpha, GetStringTypeW (Unicode) __isascii none iscntrl none, GetStringTypeW (Unicode) __iscsym none __iscsymf none isdigit none, GetStringTypeW (Unicode) isgraph none islower IsCharLower, GetStringTypeW (Unicode) isprint none ispunct none, GetStringTypeW (Unicode) isspace none, GetStringTypeW (Unicode) isupper IsCharUpper, GetStringTypeW (Unicode) isxdigit none, GetStringTypeW (Unicode) __toascii none tolower CharLower _tolower none toupper CharUpper _toupper none Directory Control_chdir SetCurrentDirectory _chdrive SetCurrentDirectory _getcwd GetCurrentDirectory _getdrive GetCurrentDirectory _mkdir CreateDirectory _rmdir RemoveDirectory _searchenv SearchPath File Handling_access none _chmod SetFileAttributes _chsize SetEndOfFile _filelength GetFileSize _fstat See Note 5 _fullpath GetFullPathName _get_osfhandle none _isatty GetFileType _locking LockFileEx _makepath none _mktemp GetTempFileName _open_osfhandle none remove DeleteFile rename MoveFile _setmode none _splitpath none _stat none _umask none _unlink DeleteFile Creating Text Output Routines_displaycursor* SetConsoleCursorInfo _gettextcolor* GetConsoleScreenBufferInfo _gettextcursor* GetConsoleCursorInfo _gettextposition* GetConsoleScreenBufferInfo _gettextwindow* GetConsoleWindowInfo _outtext* WriteConsole _scrolltextwindow* ScrollConsoleScreenBuffer _settextcolor* SetConsoleTextAttribute _settextcursor* SetConsoleCursorInfo _settextposition* SetConsoleCursorPosition _settextwindow* SetConsoleWindowInfo _wrapon* SetConsoleMode Stream Routinesclearerr none fclose CloseHandle _fcloseall none _fdopen none feof none ferror none fflush FlushFileBuffers fgetc none _fgetchar none fgetpos none fgets none _fileno none _flushall none fopen CreateFile fprintf none fputc none _fputchar none fputs none fread ReadFile freopen (std handles) SetStdHandle fscanf none fseek SetFilePointer fsetpos SetFilePointer _fsopen CreateFile ftell SetFilePointer (check return value) fwrite WriteFile getc none getchar none gets none _getw none printf none putc none putchar none puts none _putw none rewind SetFilePointer _rmtmp none scanf none setbuf none setvbuf none _snprintf none sprintf wsprintf sscanf none _tempnam GetTempFileName tmpfile none tmpnam GetTempFileName ungetc none vfprintf none vprintf none _vsnprintf none vsprintf wvsprintf Low-Level I/O_close _lclose, CloseHandle _commit FlushFileBuffers _creat _lcreat, CreateFile _dup DuplicateHandle _dup2 none _eof none _lseek _llseek, SetFilePointer _open _lopen, CreateFile _read _lread, ReadFile _sopen CreateFile _tell SetFilePointer (check return value) _write _lread Console and Port I/O Routines_cgets none _cprintf none _cputs none _cscanf none _getch ReadConsoleInput _getche ReadConsoleInput _inp none _inpw none _kbhit PeekConsoleInput _outp none _outpw none _putch WriteConsoleInput _ungetch none Memory Allocation_alloca none _bfreeseg* none _bheapseg* none calloc GlobalAlloc _expand none free GlobalFree _freect* GlobalMemoryStatus _halloc* GlobalAlloc _heapadd none _heapchk none _heapmin none _heapset none _heapwalk none _hfree* GlobalFree malloc GlobalAlloc _memavl GlobalMemoryStatus _memmax GlobalMemoryStatus _msize* GlobalSize realloc GlobalReAlloc _set_new_handler none _set_hnew_handler* none _stackavail* none Process and Environment Control Routinesabort none assert none atexit none _cexit none _c_exit none _exec functions none exit ExitProcess _exit ExitProcess getenv GetEnvironmentVariable _getpid GetCurrentProcessId longjmp none _onexit none perror FormatMessage _putenv SetEnvironmentVariable raise RaiseException setjmp none signal (ctrl-c only) SetConsoleCtrlHandler _spawn functions CreateProcess system CreateProcess String Manipulationstrcat, wcscat lstrcat strchr, wcschr none strcmp, wcscmp lstrcmp strcpy, wcscpy lstrcpy strcspn, wcscspn none _strdup, _wcsdup none strerror FormatMessage _strerror FormatMessage _stricmp, _wcsicmp lstrcmpi strlen, wcslen lstrlen _strlwr, _wcslwr CharLower, CharLowerBuffer strncat, wcsncat none strncmp, wcsncmp none strncpy, wcsncpy none _strnicmp, _wcsnicmp none _strnset, _wcsnset FillMemory, ZeroMemory strpbrk, wcspbrk none strrchr, wcsrchr none _strrev, _wcsrev none _strset, _wcsset FillMemory, ZeroMemory strspn, wcsspn none strstr, wcsstr none strtok, wcstok none _strupr, _wcsupr CharUpper, CharUpperBuffer MS-DOS Interface_bdos* none _chain_intr* none _disable* none _dos_allocmem* GlobalAlloc _dos_close* CloseHandle _dos_commit* FlushFileBuffers _dos_creat* CreateFile _dos_creatnew* CreateFile _dos_findfirst* FindFirstFile _dos_findnext* FindNextFile _dos_freemem* GlobalFree _dos_getdate* GetSystemTime _dos_getdiskfree* GetDiskFreeSpace _dos_getdrive* GetCurrentDirectory _dos_getfileattr* GetFileAttributes _dos_getftime* GetFileTime _dos_gettime* GetSystemTime _dos_getvect* none _dos_keep* none _dos_open* OpenFile _dos_read* ReadFile _dos_setblock* GlobalReAlloc _dos_setdate* SetSystemTime _dos_setdrive* SetCurrentDirectory _dos_setfileattr* SetFileAttributes _dos_setftime* SetFileTime _dos_settime* SetSystemTime _dos_setvect* none _dos_write* WriteFile _dosexterr* GetLastError _enable* none _FP_OFF* none _FP_SEG* none _harderr* See Note 1 _hardresume* See Note 1 _hardretn* See Note 1 _int86* none _int86x* none _intdos* none _intdosx* none _segread* none Time ---- asctime See Note 2 clock See Note 2 ctime See Note 2 difftime See Note 2 _ftime See Note 2 _getsystime GetLocalTime gmtime See Note 2 localtime See Note 2 mktime See Note 2 _strdate See Note 2 _strtime See Note 2 time See Note 2 _tzset See Note 2 _utime SetFileTime Virtual Memory Allocation_vfree* See Note 3 _vheapinit* See Note 3 _vheapterm* See Note 3 _vload* See Note 3 _vlock* See Note 3 _vlockcnt* See Note 3 _vmalloc* See Note 3 _vmsize* See Note 3 _vrealloc* See Note 3 _vunlock* See Note 332-Bit C Run Time _beginthread CreateThread _cwait WaitForSingleObject w/ GetExitCodeProcess _endthread ExitThread _findclose FindClose _findfirst FindFirstFile _findnext FindNextFile _futime SetFileTime _get_osfhandle none _open_osfhandle none _pclose See Note 4 _pipe CreatePipe _popen See Note 4NOTE 1: The _harderr functions do not exist in the Win32 API. However, much of their functionality is available through structured exception handling. NOTE 2: The time functions are based on a format that is not used in Win32. There are specific Win32 time functions that are documented in the Help file. NOTE 3: The virtual memory functions listed in this document are specific to the MS-DOS environment and were written to access memory beyond the 640K of RAM available in MS-DOS. Because this limitation does not exist in Win32, the standard memory allocation functions should be used. NOTE 4: While _pclose() and _popen() do not have direct Win32 equivalents, you can (with some work) simulate them with the following calls:
_popen CreatePipe CreateProcess _pclose WaitForSingleObject CloseHandleNOTE 5: GetFileInformationByHandle() is the Win32 equivalent for the _fstat() C Run-time function. However, GetFileInformationByHandle() is not supported by Win32s version 1.1. It is supported in Win32s 1.2. GetFileSize(), GetFileAttributes(), GetFileTime(), and GetFileTitle() are supported by Win32s 1.1 and 1.2.
|
Additional reference words: 3.10 3.50 4.00 95
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |