单字节函数可以处理Windows单字节代码页(874,1250-1258)字符串
双字节函数可以处理Windows双字节代码页(932,936,949,950)和单字节代码页的字符串
Unicode(宽字符)函数可以处理Windows NT/2000支持的Unicode字符串(UTF-16编码)。
和UNIX不同,Visual C++的单字节函数和双字节函数并不支持UTF-8。新程序微软推荐使用Unicode函数或可重定向函数。
如:
可重定向函数_tfopen 单字节函数fopen 双字节函数fopen Unicode函数_wfopen
可重定向函数_tcsnccpy 单字节函数strncpy 双字节函数_mbsncpy Unicode函数wcsncpy
可重定向函数,字符使用_TCHAR(部分使用_TXCHAR),字符串常量使用_T("")
单字节函数,字符使用char,字符串常量使用""
双字节函数,字符使用char(部分使用unsigned char),字符串常量使用""
Unicode函数,字符使用wchar_t,字符串常量使用L""
未定义任何常量,可重定向函数被重定向到单字节函数,_TCHAR/_TXCHAR被重定向为char,_T("")被替换为""
定义_MBCS后,可重定向函数被重定向到双字节函数,_TCHAR/_TXCHAR被重定向为char/unsigned char,_T("")被替换为""
定义_UNICODE后,可重定向函数被重定向到Unicode函数,_TCHAR/_TXCHAR被重定向为wchar_t,_T("")被替换为L""
论坛对于表格的排版有问题,没法发表格,可参考MSDN Library:
XXXXXXXXXXXXXXXXXXXXXXXXXX/en-us/library/XXXXXXXXXXXpx
【Visual C++宽字符函数(安全函数从略)】
这些函数大部分被定义在<wchar.h>头文件中。没有列入ANSI标准或与ANSI标准有冲突的函数称为CRT函数,以下划线开头。
程序入口点
wmain wWinMain
数据类型
wchar_t wint_t _wfinddata_t __wfinddata64_t _wfinddatai64_t
常量和全局函数
WEOF _wenviron _wpgmptr
系统相关函数(ANSI/POSIX无宽字符形式,都是CRT函数且均有_w前缀)
_waccess _wchdir _wchmod _wcreat _wunlink _wrename _wrmdir _wmkdir _wmktemp _wopen _wpopen _wsopen _wtempnam _wtmpnam _wgetcwd _wutime _wutime32 _wutime64 _wstat _wstat32 _wstati32 _wstat64 _wstati64
_wfullpath _wmakepath _wsplitpath
_wfdopen _wfopen _wfreopen _wfsopen
_wfindfirst _wfindnext _wfindnext32 _wfindnext64 _wfindnexti64 _wfindnexti6432 _wfindnext32i64
_wsystem _wexecl _wexecle _wexeclp _wexeclpe _wexecv _wexecve _wexecvp _wexecvpe _wspawnl _wspawnle _wspawnlp _wspawnlpe _wspawnv _wspawnve _wspawnvp _wspawnvpe
_wgetenv _wputenv _wsearchenv
_wstrdate _wstrtime
_wsetlocale
字符串(第一行是ANSI函数,第二行是CRT函数,第三行是应用价值不高的迭代函数)
wcslen wcscpy wcsncpy wcscat wcsncat wcscmp wcsncmp wcschr wcsrchr wcsstr wcscoll wcspbrk wcsspn wcscspn wcsxfrm
_wcsset _wcsnset _wcsicmp _wcsnicmp _wcsicoll _wcsnicoll _wcsdup _wcslwr _wcsupr _wcsspnp _wcsrev
_wcsinc _wcsdec _wcsncnt _wcsnextc _wcsninc
字符串格式化函数(第一行是ANSI函数,第二行是CRT函数)
swprintf swscanf vswprintf wcsftime
_scwprintf _snwprintf _snwscanf _vscwprintf _vsnwprintf
字符类型函数(ANSI函数)
iswalnum iswalpha iswascii iswcntrl iswdigit iswgraph iswlower iswprint iswpunct iswspace iswupper iswxdigit towlower towupper
简单数据转换函数(第一行是ANSI函数,第二行是CRT函数)
wcstod wcstol wcstoul
_itow _ltow _wasctime _wcstoi64 _wcstoui64 _wctime _wctime32 _wctime64 _wtof _wtoi _wtoi64 _wtol _ui64tow _ultow _wcserror
文件输入输出函数(输出效果取决于locale和文件的mode,也可用于控制台)
fgetwc fgetws fputwc fputws fwprintf fwscanf vfwprintf
_fgetwchar _fputwchar
控制台输入输出函数(输出效果取决于locale和控制台的mode)
getwc getwchar getws putwc putwchar wprintf wscanf ungetwc vwprintf
_cgetws _cputws _getwch _getwche _putwch _putws _wperror _ungetwch
200字以内,仅用于支线交流,主线讨论请采用回复功能。