例:
啊12你好5哈哈3
结果:
啊 你好 哈哈
上代码
#include<iostream> #include<list> #include<string> #include<map> #include<vector> using namespace std; list<string> GetStringByStringArr(string str); int main() { string str; map<string, float> tempmap; while (true) { cout << "请输入数据" << endl; cin >> str; if (str == "Q") { break; } GetStringByStringArr(str); str.clear(); } system("pause"); return 0; } list<string> GetStringByStringArr(string str) { list<string> strlist; vector<char> tempArr; for (size_t i = 0; i < str.length(); i++) { if ((str[i] & 0x80) != 0) { tempArr.push_back(str[i]); } else { if (tempArr.empty()) { continue; } else { strlist.push_back(string(tempArr.begin(), tempArr.end())); cout << string(tempArr.begin(), tempArr.end()) << endl; tempArr.clear(); } } } if (!tempArr.empty()) //防止在结尾的汉字不被添加 strlist.push_back(string(tempArr.begin(), tempArr.end())); return strlist; }