标签:mod tun sch variable 存储过程 gui putenv VID temp
悉Microsoft支持Unicode的方式。 它的主要目的是方便你查询相关的数据类型和函数,以及修正相应的拼写错误。
如果你使用Microsoft C++编译器,你可能遇到与流式 I/O相关的3类问题:
注意:针对cout/wcout, cin/wcin等并没有相应的 TCHAR 版本。如果你需要在ANSI/Unicode两种模式下编译 代码,你可能需要自己定义一个名字类似"tout"的宏。
 重新 考虑是否要自己处理这些事情。借助于一家Unicode咨询公司,然后让你的团队集中精力做他们擅长的事情。(嗨, 我们也要谋生啊...)
重新 考虑是否要自己处理这些事情。借助于一家Unicode咨询公司,然后让你的团队集中精力做他们擅长的事情。(嗨, 我们也要谋生啊...)| 
 | Unicode字节序标记(BOM,Byte Order Marker) 是Unicode字符 U+FEFF。(它也能表示一个被称作 Zero Width No-break Space 的字符)。U+FFFE 这个代码点在Unicode中是非法的,它永远不应该出现在一个Unicode字符流中。所以BOM可以作为放置于文件(或者一个字符串)的起始作为字节 序的指示器。对UTF-16编码而言,如果第一个字符的值是FE FF 那么文本和读取文本的机器有相同的字节序。如果是 FF FE,那么有相反的字节序并且需要对每 个16-bit字按字节逆序。同样的,BOM指示了UTF-32编码的文本的字节序。 注意不是所有的文件都以Unicode字节序标记开始。事实上,Unicode标准称若不以Unicode字节序标记 (BOM)开始(数据)就必须被表示成big-endian形式。 字符 U+FEFF 同样作为不同Unicode编码方式的标记。左边的表格说明了 U+FEFF 在每一种Unicode编码方式中的值。注意:按照定义,标记为UTF-16BE, UTF-32BE, UTF-32LE or UTF-16LE 的文本不应该有BOM,字节序已经由标记本身指出了。 对于使用 SCSU (Standard Compression Scheme for Unicode) 算法压缩过的文本,也有一个推荐的签名。 | 
| ANSI版本 | 宽字符版本 | 宏定义版本(TCHAR) | 
|---|---|---|
| EOF | WEOF | _TEOF | 
| _environ | _wenviron | _tenviron | 
| _pgmptr | _wpgmptr | _tpgmptr | 
| ANSI版本 | 宽字符版本 | 宏定义版本(TCHAR) | 
|---|---|---|
| char | wchar_t | _TCHAR | 
| _finddata_t | _wfinddata_t | _tfinddata_t | 
| __finddata64_t | __wfinddata64_t | _tfinddata64_t | 
| _finddatai64_t | _wfinddatai64_t | _tfinddatai64_t | 
| int | wint_t | _TINT | 
| signed char | wchar_t | _TSCHAR | 
| unsigned char | wchar_t | _TUCHAR | 
| char | wchar_t | _TXCHAR | 
| L | _T 或者 _TEXT | |
| LPSTR (char *) | LPWSTR (wchar_t *) | LPTSTR (_TCHAR *) | 
| LPCSTR (const char *) | LPCWSTR (const wchar_t *) | LPCTSTR (const _TCHAR *) | 
| LPOLESTR (For OLE) | LPWSTR | LPTSTR | 
有很多Windows API函数会根据宏 UNICODE 是 否被定义而编译成不同形式。那些需要同时操作ANSI字符和宽字符的模块需要了解这一点。否则,应该使用宏定义版本的名字,这样的话就只需要定义宏 UNICODE 并且重新编译程序。
下列列表并没有列举所有的有ANSI和宽字符两个版本的API,只列举了与字符和字符串处理相关的一些。如果需要查看与代码页和地区相 关 的API请查看WinNLS.h头文件。
| ANSI版本 | 宽字符版本 | 宏定义版本(TCHAR) | 
|---|---|---|
| CharLowerA | CharLowerW | CharLower | 
| CharLowerBuffA | CharLowerBuffW | CharLowerBuff | 
| CharNextA | CharNextW | CharNext | 
| CharNextExA | CharNextExW | CharNextEx | 
| CharPrevA | CharPrevW | CharPrev | 
| CharPrevExA | CharPrevExW | CharPrevEx | 
| CharToOemA | CharToOemW | CharToOem | 
| CharToOemBuffA | CharToOemBuffW | CharToOemBuff | 
| CharUpperA | CharUpperW | CharUpper | 
| CharUpperBuffA | CharUpperBuffW | CharUpperBuff | 
| CompareStringA | CompareStringW | CompareString | 
| FoldStringA | FoldStringW | FoldString | 
| GetStringTypeA | GetStringTypeW | GetStringType | 
| GetStringTypeExA | GetStringTypeExW | GetStringTypeEx | 
| IsCharAlphaA | IsCharAlphaW | IsCharAlpha | 
| IsCharAlphaNumericA | IsCharAlphaNumericW | IsCharAlphaNumeric | 
| IsCharLowerA | IsCharLowerW | IsCharLower | 
| IsCharUpperA | IsCharUpperW | IsCharUpper | 
| LoadStringA | LoadStringW | LoadString | 
| lstrcatA | lstrcatW | lstrcat | 
| lstrcmpA | lstrcmpW | lstrcmp | 
| lstrcmpiA | lstrcmpiW | lstrcmpi | 
| lstrcpyA | lstrcpyW | lstrcpy | 
| lstrcpynA | lstrcpynW | lstrcpyn | 
| lstrlenA | lstrlenW | lstrlen | 
| OemToCharA | OemToCharW | OemToChar | 
| OemToCharBuffA | OemToCharBuffW | OemToCharBuff | 
| wsprintfA | wsprintfW | wsprintf | 
| wvsprintfA | wvsprintfW | wvsprintf | 
函数按照ANSI版本的ASCII字母顺序排序,方便转换到相应的Unicode版本。
| ANSI版本 | 宽字符版本 | 宏定义版本(TCHAR) | 
|---|---|---|
| _access | _waccess | _taccess | 
| _atoi64 | _wtoi64 | _tstoi64 | 
| _atoi64 | _wtoi64 | _ttoi64 | 
| _cgets | _cgetws | cgetts | 
| _chdir | _wchdir | _tchdir | 
| _chmod | _wchmod | _tchmod | 
| _cprintf | _cwprintf | _tcprintf | 
| _cputs | _cputws | _cputts | 
| _creat | _wcreat | _tcreat | 
| _cscanf | _cwscanf | _tcscanf | 
| _ctime64 | _wctime64 | _tctime64 | 
| _execl | _wexecl | _texecl | 
| _execle | _wexecle | _texecle | 
| _execlp | _wexeclp | _texeclp | 
| _execlpe | _wexeclpe | _texeclpe | 
| _execv | _wexecv | _texecv | 
| _execve | _wexecve | _texecve | 
| _execvp | _wexecvp | _texecvp | 
| _execvpe | _wexecvpe | _texecvpe | 
| _fdopen | _wfdopen | _tfdopen | 
| _fgetchar | _fgetwchar | _fgettchar | 
| _findfirst | _wfindfirst | _tfindfirst | 
| _findnext64 | _wfindnext64 | _tfindnext64 | 
| _findnext | _wfindnext | _tfindnext | 
| _findnexti64 | _wfindnexti64 | _tfindnexti64 | 
| _fputchar | _fputwchar | _fputtchar | 
| _fsopen | _wfsopen | _tfsopen | 
| _fullpath | _wfullpath | _tfullpath | 
| _getch | _getwch | _gettch | 
| _getche | _getwche | _gettche | 
| _getcwd | _wgetcwd | _tgetcwd | 
| _getdcwd | _wgetdcwd | _tgetdcwd | 
| _ltoa | _ltow | _ltot | 
| _makepath | _wmakepath | _tmakepath | 
| _mkdir | _wmkdir | _tmkdir | 
| _mktemp | _wmktemp | _tmktemp | 
| _open | _wopen | _topen | 
| _popen | _wpopen | _tpopen | 
| _putch | _putwch | _puttch | 
| _putenv | _wputenv | _tputenv | 
| _rmdir | _wrmdir | _trmdir | 
| _scprintf | _scwprintf | _sctprintf | 
| _searchenv | _wsearchenv | _tsearchenv | 
| _snprintf | _snwprintf | _sntprintf | 
| _snscanf | _snwscanf | _sntscanf | 
| _sopen | _wsopen | _tsopen | 
| _spawnl | _wspawnl | _tspawnl | 
| _spawnle | _wspawnle | _tspawnle | 
| _spawnlp | _wspawnlp | _tspawnlp | 
| _spawnlpe | _wspawnlpe | _tspawnlpe | 
| _spawnv | _wspawnv | _tspawnv | 
| _spawnve | _wspawnve | _tspawnve | 
| _spawnvp | _wspawnvp | _tspawnvp | 
| _spawnvpe | _wspawnvpe | _tspawnvpe | 
| _splitpath | _wsplitpath | _tsplitpath | 
| _stat64 | _wstat64 | _tstat64 | 
| _stat | _wstat | _tstat | 
| _stati64 | _wstati64 | _tstati64 | 
| _strdate | _wstrdate | _tstrdate | 
| _strdec | _wcsdec | _tcsdec | 
| _strdup | _wcsdup | _tcsdup | 
| _stricmp | _wcsicmp | _tcsicmp | 
| _stricoll | _wcsicoll | _tcsicoll | 
| _strinc | _wcsinc | _tcsinc | 
| _strlwr | _wcslwr | _tcslwr | 
| _strncnt | _wcsncnt | _tcsnbcnt | 
| _strncnt | _wcsncnt | _tcsnccnt | 
| _strncnt | _wcsncnt | _tcsnccnt | 
| _strncoll | _wcsncoll | _tcsnccoll | 
| _strnextc | _wcsnextc | _tcsnextc | 
| _strnicmp | _wcsnicmp | _tcsncicmp | 
| _strnicmp | _wcsnicmp | _tcsnicmp | 
| _strnicoll | _wcsnicoll | _tcsncicoll | 
| _strnicoll | _wcsnicoll | _tcsnicoll | 
| _strninc | _wcsninc | _tcsninc | 
| _strnset | _wcsnset | _tcsncset | 
| _strnset | _wcsnset | _tcsnset | 
| _strrev | _wcsrev | _tcsrev | 
| _strset | _wcsset | _tcsset | 
| _strspnp | _wcsspnp | _tcsspnp | 
| _strtime | _wstrtime | _tstrtime | 
| _strtoi64 | _wcstoi64 | _tcstoi64 | 
| _strtoui64 | _wcstoui64 | _tcstoui64 | 
| _strupr | _wcsupr | _tcsupr | 
| _tempnam | _wtempnam | _ttempnam | 
| _ui64toa | _ui64tow | _ui64tot | 
| _ultoa | _ultow | _ultot | 
| _ungetch | _ungetwch | _ungettch | 
| _unlink | _wunlink | _tunlink | 
| _utime64 | _wutime64 | _tutime64 | 
| _utime | _wutime | _tutime | 
| _vscprintf | _vscwprintf | _vsctprintf | 
| _vsnprintf | _vsnwprintf | _vsntprintf | 
| asctime | _wasctime | _tasctime | 
| atof | _wtof | _tstof | 
| atoi | _wtoi | _tstoi | 
| atoi | _wtoi | _ttoi | 
| atol | _wtol | _tstol | 
| atol | _wtol | _ttol | 
| 字符比较 | 映射为宏或者inline 函数 | _tccmp | 
| 字符拷贝 | 映射为宏或者inline 函数 | _tccpy | 
| 字符长度 | 映射为宏或者inline 函数 | _tclen | 
| ctime | _wctime | _tctime | 
| fgetc | fgetwc | _fgettc | 
| fgets | fgetws | _fgetts | 
| fopen | _wfopen | _tfopen | 
| fprintf | fwprintf | _ftprintf | 
| fputc | fputwc | _fputtc | 
| fputs | fputws | _fputts | 
| freopen | _wfreopen | _tfreopen | 
| fscanf | fwscanf | _ftscanf | 
| getc | getwc | _gettc | 
| getchar | getwchar | _gettchar | 
| getenv | _wgetenv | _tgetenv | 
| gets | getws | _getts | 
| isalnum | iswalnum | _istalnum | 
| isalpha | iswalpha | _istalpha | 
| isascii | iswascii | _istascii | 
| iscntrl | iswcntrl | _istcntrl | 
| isdigit | iswdigit | _istdigit | 
| isgraph | iswgraph | _istgraph | 
| islead (总是返回FALSE) | (总是返回FALSE) | _istlead | 
| isleadbyte (总是返回FALSE) | isleadbyte (总是返回FALSE) | _istleadbyte | 
| islegal (总是返回TRUE) | (总是返回TRUE) | _istlegal | 
| islower | iswlower | _istlower | 
| isprint | iswprint | _istprint | 
| ispunct | iswpunct | _istpunct | 
| isspace | iswspace | _istspace | 
| isupper | iswupper | _istupper | 
| isxdigit | iswxdigit | _istxdigit | 
| main | wmain | _tmain | 
| perror | _wperror | _tperror | 
| printf | wprintf | _tprintf | 
| putc | putwc | _puttc | 
| putchar | putwchar | _puttchar | 
| puts | _putws | _putts | 
| remove | _wremove | _tremove | 
| rename | _wrename | _trename | 
| scanf | wscanf | _tscanf | 
| setlocale | _wsetlocale | _tsetlocale | 
| sprintf | swprintf | _stprintf | 
| sscanf | swscanf | _stscanf | 
| strcat | wcscat | _tcscat | 
| strchr | wcschr | _tcschr | 
| strcmp | wcscmp | _tcscmp | 
| strcoll | wcscoll | _tcscoll | 
| strcpy | wcscpy | _tcscpy | 
| strcspn | wcscspn | _tcscspn | 
| strerror | _wcserror | _tcserror | 
| strftime | wcsftime | _tcsftime | 
| strlen | wcslen | _tcsclen | 
| strlen | wcslen | _tcslen | 
| strncat | wcsncat | _tcsncat | 
| strncat | wcsncat | _tcsnccat | 
| strncmp | wcsncmp | _tcsnccmp | 
| strncmp | wcsncmp | _tcsncmp | 
| strncpy | wcsncpy | _tcsnccpy | 
| strncpy | wcsncpy | _tcsncpy | 
| strpbrk | wcspbrk | _tcspbrk | 
| strrchr | wcsrchr | _tcsrchr | 
| strspn | wcsspn | _tcsspn | 
| strstr | wcsstr | _tcsstr | 
| strtod | wcstod | _tcstod | 
| strtok | wcstok | _tcstok | 
| strtol | wcstol | _tcstol | 
| strtoul | wcstoul | _tcstoul | 
| strxfrm | wcsxfrm | _tcsxfrm | 
| system | _wsystem | _tsystem | 
| tmpnam | _wtmpnam | _ttmpnam | 
| tolower | towlower | _totlower | 
| toupper | towupper | _totupper | 
| ungetc | ungetwc | _ungettc | 
| vfprintf | vfwprintf | _vftprintf | 
| vprintf | vwprintf | _vtprintf | 
| vsprintf | vswprintf | _vstprintf | 
| WinMain | wWinMain | _tWinMain | 
Copyright © 2003-2010 Tex Texin. All rights reserved. 
该页面更新于 2009-01-29. 
返回页面顶端
http://www.i18nguy.com/unicode/c-unicode.zh-CN.html
使你的C/C++代码支持Unicode(CRT字符串处理的所有API列表,甚至有WEOF字符存在)
标签:mod tun sch variable 存储过程 gui putenv VID temp
原文地址:https://www.cnblogs.com/findumars/p/10247508.html