user-0 提问: winmain与字符集

回复:
user: user-1
content: Locale Use the setlocale function to change or query some or all of the current program locale information. “Locale” refers to the locality (the country and language) for which you can customize certain aspects of your program. Some locale-dependent categories include the formatting of dates and the display format for monetary values. For more information, see Locale Categories.   Locale-Dependent Routines   Routine  Use setlocale Category  Setting Dependence  atof, atoi, atol Convert character to floating-point, integer, or long integer value, respectively LC_NUMERIC  is Routines Test given integer for particular condition. LC_CTYPE  isleadbyte Test for lead byte () LC_CTYPE  localeconv Read appropriate values for formatting numeric quantities LC_MONETARY, LC_NUMERIC  MB_CUR_MAX Maximum length in bytes of any multibyte character in current locale (macro defined in STDLIB.H) LC_CTYPE  _mbccpy Copy one multibyte character LC_CTYPE  _mbclen Return length, in bytes, of given multibyte character LC_CTYPE  mblen Validate and return number of bytes in multibyte character LC_CTYPE  _mbstrlen For multibyte-character strings: validate each character in string; return string length  LC_CTYPE  mbstowcs Convert sequence of multibyte characters to corresponding sequence of wide characters LC_CTYPE  mbtowc Convert multibyte character to corresponding wide character LC_CTYPE  printf functions Write formatted output LC_NUMERIC (determines radix character output)  scanf functions Read formatted input LC_NUMERIC (determines radix character recognition)  setlocale, _wsetlocale Select locale for program Not applicable  strcoll, wcscoll Compare characters of two strings LC_COLLATE  _stricoll, _wcsicoll Compare characters of two strings (case insensitive) LC_COLLATE  _strncoll, _wcsncoll Compare first n characters of two strings  LC_COLLATE  _strnicoll, _wcsnicoll Compare first n characters of two strings (case insensitive) LC_COLLATE  strftime, wcsftime Format date and time value according to supplied format argument LC_TIME  _strlwr Convert, in place, each uppercase letter in given string to lowercase LC_CTYPE  strtod, wcstod, strtol, wcstol, strtoul, wcstoul Convert character string to double, long, or unsigned long value LC_NUMERIC (determines radix character recognition)  _strupr Convert, in place, each lowercase letter in string to uppercase LC_CTYPE  strxfrm, wcsxfrm Transform string into collated form according to locale LC_COLLATE  tolower, towlower Convert given character to corresponding lowercase character LC_CTYPE  toupper, towupper Convert given character to corresponding uppercase letter LC_CTYPE  wcstombs Convert sequence of wide characters to corresponding sequence of multibyte characters LC_CTYPE  wctomb Convert wide character to corresponding multibyte character LC_CTYPE  _wtoi, _wtol Convert wide-character string to int or long LC_NUMERIC

user: user-0
content: 引用 3 楼 zhao4zhong1 的回复:_T("...")所有字符串我都加了这个的  其实我觉得用多字符集多省事，只要一个引号就搞定了，而且现在的系统一般都兼容两种字符集

user: user-0
content: _tWinMain和WinMain第三个参数类型为什么有区别呢

user: user-2
content: 正常情况不管切换unicode还是multibyte应该没事，可能你copy其它代码改动参数写法所以冒出了重载问题...

user: user-1
content: _T("...")

user: user-0
content: _tWinMain不是兼容两种字符集吗？我记得是吧

user: user-0
content: 不好意思说错了，是在u开头的字符集，然后用_twinmain说我重载了