常用函數(shù)對照

ANSIUNICODE通用說明
數(shù)據(jù)類型
(char.h)(wchar.h)(tchar.h) 
charwchar_tTCHAR 
char *wchar_t *TCHAR* 
LPSTRLPWSTRLPTSTR 
LPCSTRLPCWSTRLPCTSTR 
    
字符串轉(zhuǎn)換
atoi_wtoi_ttoi把字符串轉(zhuǎn)換成整數(shù)(int)
atol_wtol_ttol把字符串轉(zhuǎn)換成長整型數(shù)(long)
atof_wtof_tstof把字符串轉(zhuǎn)換成浮點數(shù)(double)
itoa_itow_itot將任意類型的數(shù)字轉(zhuǎn)換為字符串
    
字符串操作
strlenwcslen_tcslen獲得字符串的數(shù)目
strcpywcscpy_tcscpy拷貝字符串
strncpywcsncpy_tcsncpy類似于strcpy/wcscpy,同時指定拷貝的數(shù)目
strcmpwcscmp_tcscmp比較兩個字符串
strncmpwcsncmp_tcsncmp類似于strcmp/wcscmp,同時指定比較字符字符串的數(shù)目
strcatwcscat_tcscat把一個字符串接到另一個字符串的尾部
strncatwcsncat_tcsnccat類似于strcat/wcscat,而且指定粘接字符串的粘接長度.
strchrwcschr_tcschr查找子字符串的第一個位置
strrchrwcsrchr_tcsrchr從尾部開始查找子字符串出現(xiàn)的第一個位置
strpbrkwcspbrk_tcspbrk從一字符字符串中查找另一字符串中任何一個字符第一次出現(xiàn)的位置
strstrwcsstr/wcswcs_tcsstr在一字符串中查找另一字符串第一次出現(xiàn)的位置
strcspnwcscspn_tcscspn返回不包含第二個字符串的的初始數(shù)目
strspnwcsspn_tcsspn返回包含第二個字符串的初始數(shù)目
strtokwcstok_tcstok根據(jù)標示符把字符串分解成一系列字符串
 wcswidth 獲得寬字符串的寬度
 wcwidth 獲得寬字符的寬度
    
字符串測試
isasciiiswascii_istascii測試字符是否為ASCII 碼字符, 也就是判斷c 的范圍是否在0 到127 之間
isalnumiswalnum_istalnum測試字符是否為數(shù)字或字母
isalphaiswalpha_istalpha測試字符是否是字母
iscntrliswcntrl_istcntrl測試字符是否是控制符
isdigitiswdigit_istdigit測試字符是否為數(shù)字
isgraphiswgraph_istgraph測試字符是否是可見字符
isloweriswlower_istlower測試字符是否是小寫字符
isprintiswprint_istprint測試字符是否是可打印字符
ispunctiswpunct_istpunct測試字符是否是標點符號
isspaceiswspace_istspace測試字符是否是空白符號
isupperiswupper_istupper測試字符是否是大寫字符
isxdigitiswxdigit_istxdigit測試字符是否是十六進制的數(shù)字
大小寫轉(zhuǎn)換
tolowertowlower_totlower把字符轉(zhuǎn)換為小寫
touppertowupper_totupper把字符轉(zhuǎn)換為大寫
字符比較
strcollwcscoll_tcscoll比較字符串
日期和時間轉(zhuǎn)換
strftimewcsftime_tcsftime根據(jù)指定的字符串格式和locale設(shè)置格式化日期和時間
strptime  根據(jù)指定格式把字符串轉(zhuǎn)換為時間值, 是strftime的反過程
打印和掃描字符串
printfwprintf_tprintf使用vararg參量的格式化輸出到標準輸出
fprintffwprintf_ftprintf使用vararg參量的格式化輸出
scanfwscanf_tscanf從標準輸入的格式化讀入
fscanffwscanf_ftscanf格式化讀入
sprintfswprintf_stprintf根據(jù)vararg參量表格式化成字符串
sscanfswscanf_stscanf以字符串作格式化讀入
vfprintfvfwprintf_vftprintf使用stdarg參量表格式化輸出到文件
vprintf  使用stdarg參量表格式化輸出到標準輸出
vsprintfvswprintf_vstprintf格式化stdarg參量表并寫到字符串
sprintf_sswprintf_s_stprintf_s格式化字符串
數(shù)字轉(zhuǎn)換
strtodwcstod_tcstod把字符串的初始部分轉(zhuǎn)換為雙精度浮點數(shù)
strtolwcstol_tcstol把字符串的初始部分轉(zhuǎn)換為長整數(shù)
strtoulwcstoul_tcstoul把字符串的初始部分轉(zhuǎn)換為無符號長整數(shù)
_strtoi64_wcstoi64_tcstoi64 
    
輸入和輸出
fgetcfgetwc_fgettc從流中讀入一個字符并轉(zhuǎn)換為寬字符
fgetsfgetws_fgetts從流中讀入一個字符串并轉(zhuǎn)換為寬字符串
fputcfputwc_fputtc把寬字符轉(zhuǎn)換為多字節(jié)字符并且輸出到標準輸出
fputsfputws_fputts把寬字符串轉(zhuǎn)換為多字節(jié)字符并且輸出到標準輸出串
getcgetwc_gettc從標準輸入中讀取字符, 并且轉(zhuǎn)換為寬字符
getchargetwchar_gettchar從標準輸入中讀取字符
putcputwc_puttc標準輸出
putcharputwchar_puttchar標準輸出
ungetcungetwc_ungettc把一個字符放回到輸入流中

 

用C函數(shù)來轉(zhuǎn)換Unicode和ANSI文字
char sChar[MAX_PATH];  
const WCHAR wChar[] = L"我的朋友";  
// 設(shè)置代碼頁為默認代碼頁  
_tsetlocale(LC_ALL,_T(""));  
// 把wChar這個Unicode字符串轉(zhuǎn)換成ANSI字符串,保存到sChar,并且返回ANSI的字符串大小,如果失敗,則返回-1  
wcstombs(sChar, wChar, MAX_PATH);  
// 相反的函數(shù):mbstowcs,可以從ANSI轉(zhuǎn)換到Unicode