Я только начал писать на С++, решил начать с написания функции, но не понимаю, как то все очень криво, такое количество ошибок у меня небыло ни с одним языком. Помогите понять, что я тут не правильно делаю. Функция explode() на PHP режет строку по разделителю.
#include <iostream>
#include <vector>
#include <string>
vector<string> explode(string separator, string input){
string line;
int count = 1;
vector<string> output {};
for (int i = 0; input[i] != '\0'; ++i) {
if (input[i] == separator) {
output.push_back(line);
line = "";
count++;
} else {
line += input[i];
}
}
return output;
}
int main(){
int count = 1;
vector<string> msg = explode(".", "a.b.c.d");
for (const string& word : msg){
cout << count << " => " << word << endl;
count++;
}
return 0;
}