计算给定的字符的字符长度,中文,英文,数字,符号均为一个字符
在线编译测试:https://onlinegdb.com/zih0Wi3AZ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
#include <vector>
int splitWord(const std::string & word )
{
std::vector<std::string> characters;
int num = word.size();
int i = 0;
while(i < num)
{
int size = 1;
if(word[i] & 0x80)
{
char temp = word[i];
temp <<= 1;
do{
temp <<= 1;
++size;
}while(temp & 0x80);
}
std::string subWord;
subWord = word.substr(i, size);
characters.push_back(subWord);
i += size;
}
return characters.size();
}
int main()
{
std::string name;
std::string demo = "这是Liferecords编写的C++第1个程序!"; //25

std::cout<< splitWord(a) << "\n";

}