void CCreatEnt::CStringToSingleStr(const std::string input,std::vector &output)
{
std::string ch;
for(size_t i =0,len=0;i!=input.length();i+=len)
{
unsigned char byte = (unsigned)input[i];
if(byte >= 0xFC)//length 6
{
len = 6;
}
else if(byte >= 0xF8)
{
len = 5;
}
else if(byte >= 0xF0)
{
len = 4;
}
else if(byte >= 0xE0)
{
len = 3;
}
else if(byte >= 0xC8)
{
len = 2;
}
else
{
len = 1;
}
ch=input.substr(i,len);
output.push_back(ch);
}
}
这段代码是网络上查到的,但实际上返回的结果并不正确,若字符串为
1.3几个简单的命令5
返回值是
1
.
3
几个简
单的
命
令
5
请问如何才能按每个字符拆分呢?