У меня проблемы с пониманием концепции вектора вне main ().Я пытаюсь объявить массив, затем передать этот массив внешнему вектору разбиения, как только все строки возвращаются в вектор, объявленный в main.Моя проблема заключается в понимании того, как передать строки, считанные из txt-файла, в вектор разделения, который нужно разделить, а затем вернуть значение после 4-й запятой в исходный вектор в методе main.
vector<string> split(const string& s, const string& delim) {
const bool keep_empty = true;
vector<string> result;
if (delim.empty()) {
result.push_back(s);
return result;
}
string::const_iterator substart = s.begin(), subend;
while (true) {
subend = search(substart, s.end(), delim.begin(), delim.end());
string temp(substart, subend);
if (keep_empty || !temp.empty()) {
result.push_back(temp);
}
if (subend == s.end()) {
break;
}
substart = subend + delim.size();
}
return result;
}
void binary(vector<string> &airPort);
void Linear_Search(vector<string> &airPort);
int main()
{
vector<string> airPort;
string s;
int counts = 0;
string inp;
string total;
string cat = "cat";
string a, b, c, d, e;
char bs;
ifstream file("airports.dat");
if (!file.is_open()) {
cout << "Filed to Open File!" << endl;
return 0;
}
while (getline(file, s))
{
istringstream ls(s);
airPort.push_back(s);
}
vector<string> airPort = split(",", s); //trying to pass the lines in
the airPort vector to be
split up
В конце концов, я пытаюсь получить его, где вектор airPort будет обновлен только значениями после 4-й запятой, поэтому остальная часть программы может использовать этот обновленный вектор.