Я не мог понять, что пошло не так, когда я пытался изменить векторный массив.
Вот мой векторный массив:
14248 DL AAAAA
14248 DL AAAAA
14248 DL AAAAA
14248 DL AAAAA
14248
14248
14248
14248
То, что я хочу попробовать сделать здесь, если векторная строка содержит «AAAAA», я вернусь как «-» к другому вектору cRntiModDash. Если НЕ «ААААА», то я возвращаю исходную строку.
Итак, вектор cRntiModDash должен содержаться после изменения:
-
-
-
-
-
14248
14248
14248
14248
14248
Это то, что я хочу, но когда я возвращаюсь к многовекторному «все», тогда что-то не так и вызывает выход.
std::vector<std::vector<string>*> all;
vector<std::string> cRntiModDash;
for (vector < string >::iterator ct(cRnti.begin()); ct != cRnti.end(); ct++)
{
std::string cRntTmp (*ct);
if (cRntTmp.find("AAAAA") != string::npos)
cRntiModDash.push_back("-");
else
cRntiModDash.push_back(*ct);
}
}
all.push_back(&cRntiModDash);
for (unsigned int j = 0; j < cRnti.size(); j++)
{
for (std::vector<std::vector<string>*>::iterator i = all.begin(); i != all.end(); i++)
{
if (i != all.begin())
{
CSVToFile << ",";
std::cout<< ",";
}
std::cout<< (**i)[j];
CSVToFile <<(**i)[j];
}
std::cout<< std::endl;
CSVToFile << std::endl;
}
CSVToFile.close();
Если я не изменю вектор cRnti, тогда все в порядке. Я проверил мой измененный вектор не было пробелов. Если кто-то может распознать мою проблему, я очень ценю. Я был судим какое-то время, но не видел проблемы. Заранее спасибо.