有時一個字符串中同時包含了中文,英文,標點符號,特殊符號如@#$等,如何統計該字符串中包含了多少個字符呢?
可以用一下函數
int CountWord( std::string content )
{
int cutNum = 0;
char* contsms = (char*)content.c_str();
while( *contsms )
{
if( 0 > *contsms )
{
contsms += 3;
}
else
contsms++;
cutNum++;
}
return cutNum;
}
測試用例如下:
中國人ABC 返回6
中國人ABC@ 返回7
中國人ABC, 返回7
可以看到:中文字爲多個字節但是記爲1個字符,英文字母記爲1個字符,標點符號記爲1個字符,特殊符號@#等記爲1個字符,
返回爲字符串中字符個數