首页 > 代码库 > cocos2d-x 字符串截取
cocos2d-x 字符串截取
A.h
private: static std::vector<std::string> parseUTF8(const std::string &str);public: static std::string subUTF8(const std::string &str, int from, int to);
A.cpp
std::vector<std::string> A::parseUTF8(const std::string &str){ int l = str.length(); std::vector<std::string> ret; ret.clear(); for(int p = 0; p < l; ) { int size=0; unsigned char c = str[p]; if(c < 0x80) { size = 1; } else if(c < 0xc2) { size = 2; } else if(c < 0xe0) { size = 2; } else if(c < 0xf0) { size = 3; } else if(c < 0xf8) { size = 4; } else if (c < 0xfc) { size = 5; } else if (c < 0xfe) { size = 6; } else size = 7; std::string temp = ""; temp = str.substr(p, size); ret.push_back(temp); p += size; } return ret;}std::string A::subUTF8(const std::string &str,int from, int to){ if(from > to) return ""; if (str.length() < to) return ""; std::vector<std::string> vstr = parseUTF8(str); std::vector<std::string>::iterator iter=vstr.begin(); std::string res; std::string result; for(iter=(vstr.begin() + from); iter != (vstr.begin() + to); iter++) { res += *iter; } return res;}
cocos2d-x 字符串截取
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。