在VC++编程中经常需要判断char类型数组的长度,以下代码可供参考。
windows系统下可以使用_mbslen函数
1
2
3
4
5
6
7
8
9
|
#include <stdio.h>
#include <mbstring.h>
int
main(
void
)
{
const
char
*p=
"abc中国"
;
int
n=_mbslen((unsigned
char
*)p);
printf
(
"%d\n"
,n);
}
|
输出是5
注:该代码参考自:http://bbs.youkuaiyun.com/topics/320095859(20楼的回复)
以上代码证实可用。
这段代码声明的是char类型的指针,与char类型数组类似,在使用时都要进行强制类型转换,下面贴出char类型数组的代码:
char szTestLen[MAX_PATH];
wsprintf(szTestLen, "qazwsx;.//");
cout<<_mbslen((unsigned char*)szTestLen);
输出是10