|
wchar_t * p1=L"abc";
int len1 = wcslen(p1);
whcar_t * p2=L"中文";
int len2 = wcslen(p2);
wchar_t * p3=L"a中文";
int len3 = wcslen(p3);
在linux下面的结果是: len1=3,len2=4,len3=5
而在windows下面: len1=3,len2=2,len3=3
也就是说linux下面可能用的是变长的UTF8,而不是定长的UTF16,不知道能不能在程序里选择用UTF16,或者是在系统的某个设置里能改!
谢谢! |
|