//加入 &strArr符号以防元素在主函数未赋值 int split(string str, vector<string> &strArr, char c) { int count = 1;//记录分割元素个数,默认为一个元素 string s;//定义每个要分个字符串 for (int i = 0; i < str.size(); ++i) { if (str[i] != c) {//判断是否要分割的字符 s += str[i];//累加要分割的字符,组成字符串 } else { strArr.push_back(s);//添加字符串到字符串数组中 s.clear();//清空上一个要插入的字符串 count++;//元素自增 } } strArr.push_back(s);//加入最后一个未插入的元素 return count; }
主函数
int main() { string str; cin >> str; vector<string> strArr; int count = split(str, strArr, '.'); for (int i = 0; i < count; ++i) { cout <<strArr[i] << endl; } }
实现效果