std::string Helper::getSubStringOfUTF8String(const std::string& str, std::string::size_type start, std::string::size_type length)
函数有Bug,当start > 0时返回的值不正确,如:
std::string s = “你好世界!!!Hello”;
std::string s2 = cocos2d::ui::Helper::getSubStringOfUTF8String(s, 1, 1);
CCLOG("%s", s2.c_str()); // 返回好世, 应该返回好
其原因是在该函数实现的最后一行:return str.substr(min,max);
改为 return str.substr(min,max-min);
应该是对string::substr的第二个参数理解错误导致的
这个问题以前我就反映过,没人理,直到3.8还没有修正,唉