当前在xcode中使用stl解析字符串,是由NSString转换过来的utf8编码,需要遍历string类型的字符串,但是utf8编码的汉字为三个字节,无法准确遍历,具体:
int i = 0;
NSString *s = [NSString stringwithstring:@"你好123"];
const char* p = [s UTF8String];//转换为utf8编码
string str = string(p);
while(str.lenth() >= i)
{
    char ch = str.at(i);//遍历到汉字的时候就是三个
    i++;
}
如上所示,有nsstring得到的字符为utf8的,那么我每次i++一次,遇到汉字就会乱了。
个人觉得是编码问题,试过转换为gb2312,可能算法不对,转换出来的还不是汉字。不知各位有什么想法,谢谢支招。