LPCTSTR,,LPWSTR, PTSTR, LPTSTR,,wchar_t
L | 表示long指針,這是為了兼容Windows 3.1等16位操作系統(tǒng)遺留下來的,,在win32中以及其他的32位操作系統(tǒng)中,, long指針和near指針及far修飾符都是為了兼容的作用,沒有實際意義,。即win32中,long,near,far指針與普通指針沒有區(qū)別,,LP與P是等效的,。 | P | 表示這是一個指針。 | T | 表示_T宏,這個宏用來表示你的字符是否使用UNICODE, 如果你的程序定義了UNICODE或者其他相關(guān)的宏,,那么這個字符或者字符串將被作為UNICODE字符串,,否則就是標準的ANSI字符串。 | STR | 表示這個變量是一個字符串,。 | C | 表示是一個常量, const,。 | LPTSTR | 如果定義了UNICODE宏則LPTSTR被定義為LPWSTR。typedef LPTSTR LPWSTR; 否則LPTSTR被定義為LPSTR,。 typedef LPTSTR LPSTR; |
c字符串常用處理函數(shù)多字節(jié)與寬字節(jié)對照表
ANSI | UNICODE | 通用 | 說明 | 數(shù)據(jù)類型 | - | wchar.h | tchar.h | | char | wchar_t | TCHAR | | char * | wchar_t * | TCHAR* | | LPSTR | LPWSTR | LPTSTR | | LPCSTR | LPCWSTR | LPCTSTR | | 字符串轉(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)換為字符串 | 字符串操作 | strlen | wcslen | _tcslen | 獲得字符串的數(shù)目 | strcpy | wcscpy | _tcscpy | 拷貝字符串 | strncpy | wcsncpy | _tcsncpy | 類似于strcpy/wcscpy,,同時指定拷貝的數(shù)目 | strcmp | wcscmp | _tcscmp | 比較兩個字符串 | strncmp | wcsncmp | _tcsncmp | 類似于strcmp/wcscmp,同時指定比較字符字符串的數(shù)目 | strcat | wcscat | _tcscat | 把一個字符串接到另一個字符串的尾部 | strncat | wcsncat | _tcsnccat | 類似于strcat/wcscat,,而且指定粘接字符串的粘接長度. | strchr | wcschr | _tcschr | 查找子字符串的第一個位置 | strrchr | wcsrchr | _tcsrchr | 從尾部開始查找子字符串出現(xiàn)的第一個位置 | strpbrk | wcspbrk | _tcspbrk | 從一字符字符串中查找另一字符串中任何一個字符第一次出現(xiàn)的位置 | strstr | wcsstr/wcswcs | _tcsstr | 在一字符串中查找另一字符串第一次出現(xiàn)的位置 | strcspn | wcscspn | _tcscspn | 返回不包含第二個字符串的的初始數(shù)目 | strspn | wcsspn | _tcsspn | 返回包含第二個字符串的初始數(shù)目 | strtok | wcstok | _tcstok | 根據(jù)標示符把字符串分解成一系列字符串 | | wcswidth | | | | wcwidth | | | 字符串測試 | isascii | iswascii | _istascii | 測試字符是否為ASCII | isalnum | iswalnum | _istalnum | 測試字符是否為數(shù)字或字母 | isalpha | iswalpha | _istalpha | 測試字符是否是字母 | iscntrl | iswcntrl | _istcntrl | 測試字符是否是控制符 | isdigit | iswdigit | _istdigit | 測試字符是否為數(shù)字 | isgraph | iswgraph | _istgraph | 測試字符是否是可見字符 | islower | iswlower | _istlower | 測試字符是否是小寫字符 | isprint | iswprint | _istprint | 測試字符是否是可打印字符 | ispunct | iswpunct | _istpunct | 測試字符是否是標點符號 | isspace | iswspace | _istspace | 測試字符是否是空白符號 | isupper | iswupper | _istupper | 測試字符是否是大寫字符 | isxdigit | iswxdigit | _istxdigit | 測試字符是否是十六進制的數(shù)字 | 大小寫轉(zhuǎn)換 | tolower | towlower | _totlower | 把字符轉(zhuǎn)換為小寫 | toupper | towupper | _totupper | 把字符轉(zhuǎn)換為大寫 | 字符比較 | strcoll | wcscoll | _tcscoll | 比較字符串 | 日期和時間轉(zhuǎn)換 | strftime | wcsftime | _tcsftime | 根據(jù)指定的字符串格式和locale設(shè)置格式化日期和時間 | strptime | | | | 打印和掃描字符串 | printf | wprintf | _tprintf | 使用vararg參量的格式化輸出到標準輸出 | fprintf | fwprintf | _ftprintf | 使用vararg參量的格式化輸出 | scanf | wscanf | _tscanf | 從標準輸入的格式化讀入 | fscanf | fwscanf | _ftscanf | 格式化讀入 | sprintf | swprintf | _stprintf | 根據(jù)vararg參量表格式化成字符串 | sscanf | swscanf | _stscanf | 以字符串作格式化讀入 | vfprintf | vfwprintf | _vftprintf | 使用stdarg參量表格式化輸出到文件 | vprintf | | | | vsprintf | vswprintf | _vstprintf | 格式化stdarg參量表并寫到字符串 | sprintf_s | swprintf_s | _stprintf_s | 格式化字符串 | 數(shù)字轉(zhuǎn)換 | strtod | wcstod | _tcstod | 把字符串的初始部分轉(zhuǎn)換為雙精度浮點數(shù) | strtol | wcstol | _tcstol | 把字符串的初始部分轉(zhuǎn)換為長整數(shù) | strtoul | wcstoul | _tcstoul | 把字符串的初始部分轉(zhuǎn)換為無符號長整數(shù) | _strtoi64 | _wcstoi64 | _tcstoi64 | | 輸入和輸出 | fgetc | fgetwc | _fgettc | 從流中讀入一個字符并轉(zhuǎn)換為寬字符 | fgets | fgetws | _fgetts | 從流中讀入一個字符串并轉(zhuǎn)換為寬字符串 | fputc | fputwc | _fputtc | 把寬字符轉(zhuǎn)換為多字節(jié)字符并且輸出到標準輸出 | fputs | fputws | _fputts | 把寬字符串轉(zhuǎn)換為多字節(jié)字符并且輸出到標準輸出串 | getc | getwc | _gettc | 從標準輸入中讀取字符,, | getchar | getwchar | _gettchar | 從標準輸入中讀取字符 | putc | putwc | _puttc | 標準輸出 | putchar | putwchar | _puttchar | 標準輸出 | ungetc | ungetwc | _ungettc | 把一個字符放回到輸入流中 |
|