白驹过隙,这篇文章距今已有一年以上的历史。技术发展日新月异,文中的观点或代码很可能过时或失效,请自行甄别:)

国际化还是要UNICODE,不过跟ANSII有些不同,找了些资料.

字符串长度:

WINAPI lstrlenW(LPCWSTR lpString);//(不计算字符串末尾的null)

字符串合并:

LPWSTR WINAPI lstrcatW(LPWSTR lpString1, LPWSTR lpString2);//第一个参数是可以存储两个字符串的缓冲区,空间的大小至少要能存储两个需要合并的字符串,包括null终止符。函数返回指向该缓冲区的指针。

字符串转换:

LPWSTR WINAPI CharLowerW(LPWSTR lpsz);
LPWSTR WINAPI CharUpperW(LPWSTR lpsz);

字符串比较:

int WINAPI lstrcmpW(LPCWSTR lpString1,LPCWSTR lpString2);
int WINAPI lstrcmpiW(LPCWSTR lpString1,LPCWSTR lpString2);
//lstrcmpW()函数用于比较两个字符串。如果两个字符串相等,函数返回0。字符串比较是字母大小写敏感的。也就是说"Cup"和"cup"是两个不同的字符串。lstrcmpiW函数比较字符串时不区分字母大小写,因此用这个函数比较两个字符串时,"Cup"和"cup"是相等的

缓冲区填充:

wsprintfW();

字符类型:

BOOL WINAPI GetStringTypeW(DWORD dwInfoType,LPCESTR lpSrcStr,int cchSrc,LPWORD lpCharType);
/*第一个参数就是指定信息类型的标志
字符信息类型
标记        说明
CT_CTYPE1   获取字符类型信息
CT_CTYPE2   获取双向布局信息
CT_CTYPE3   获取文本处理信息
第二个参数是获取字符类型的Unicode字符串。第三个参数是字符串长度大小。最后一个参数是指向一个保存16位值的数组指针。
GetStringTypeW()函数返回值为字符类型的合并,我们可以通过运算符& 查询指定类型。
部分字符类型列表
值           说明
C1_DIGIT    十进制数字
C2_SPACE    空格
C1_PUNCT    标点符号
C1_CNTRL    控制符
C1_ALPHA    大小写字母
*/

CRT字符串函数:

wcslen()//计算字符串长度
wcscpy()//字符串拷贝
wcscat()//字符串连接
wcscmp()//字符串比较