Win32 Equivalents for C Run-Time Functions ID: Q99456 |
The information in this article applies to:
- Microsoft Win32 Application Programming Interface (API), included with:
-
- Microsoft Windows NT, versions 3.1, 3.5, 3.51
- Microsoft Windows 95
SUMMARY Many 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 INFORMATION NOTE: 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 Classification isalnum 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 Routines clearerr 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 Routines abort 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 Manipulation strcat, 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 3 32-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 4
NOTE 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 CloseHandle NOTE 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 query words: 3.10 3.50 4.00 Keywords : kbNTOS310 kbNTOS350 kbNTOS351 kbWinOS95
Version :
Platform :
Issue type :