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 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 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
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 reference words: 3.10 3.50 4.00 95
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |