【发布时间】:2021-06-17 16:07:22
【问题描述】:
我正在做一个将字符串拆分为向量的程序(就像在 Python 中一样),我试图调试这段代码,但我不知道它有什么问题。
//split.hpp
#include <vector>
std::vector<std::string> split(std::string to_split, char split){
std::vector<std::string> result;
std::string append;
for(int i = 0; i < to_split.length() ; ++i){
if(to_split[i] == split){
result.push_back(append);
append.clear();
}
else append += to_split[i];
}
return result;
}
//main.cpp
#include <iostream>
#include "split.hpp"
int main(){
std::vector<std::string> splitted_string = split("etettest", 't');
for(int i = 0; i < splitted_string.size(); ++i){
std::cout << splitted_string[i] << "\n";
}
std::cout << "\n" << splitted_string.size();
system("pause>nul");
return 0;
}
输入:e e tes
预期输入:e e es
【问题讨论】: