-2
我試圖分裂一個char *基於使用嵌套向量但是焦炭的最後一個字的分隔符*似乎沒有被添加到載體>拆分實施*
vector<vector<char>> split(char* word, const char de){
vector<vector<char>> words;
vector<char> c_word;
while(*word){
if(*word == de){
words.push_back(c_word);
c_word.clear();
word++;
continue;
}
c_word.push_back(*word);
word++;
}
return words;
}
例用法:
int main() {
char *let = "Hello world!";
vector<vector<char>> words = split(let, ' ');
for(int x = 0;x < words.size();x++){
for(int y = 0;y < words[x].size();y++){
cout << words[x][y];
}
cout << endl;
}
}
這將只打印你好
你能提供一個代碼與輸入,所以可以嘗試嗎? www.ideone.com –
是否有原因使用'std :: vector>'而不是'std :: vector '?和'char *'而不是'std :: string'? –
除非最後一個字符是分隔符,否則當循環結束時,'c_word'中還會有一個單詞。 –