Мой первый вопрос на этом сайте. Плюс довольно новый для C++.Неизвестный переменный размер столбца в векторе
Я искал способ заполнить вектор из текстового файла. Однако размер столбца каждой строки отличается и неизвестен заранее.
Позвольте мне показать вам пример, это текстовый файл, я хотел бы получить в векторе:
3
1 1
1 2
0
(Значение таблицы: есть 3 мероприятия в рамках проекта х, первое действие имеет 1 прямое предшественник (активность 1), второе действие также имеет один прямой предшественник (активность 2), и, наконец, последний вид деятельности не имеет предшественников.)
Я хочу этот текстовый файл в векторе, однако у меня есть несколько похожих текстовых файлов с разными количество столбцов, которые мне нужно прочитать.
Поскольку я знаю количество действий в каждом проекте, я могу определить количество строк. Тем не менее, я не знаю количество столбцов ...
Что я пробовал сейчас, это работать с inFile.good(), чтобы увидеть, достиг ли я конца текстового файла. Тем не менее, мне нужно что-то увидеть, если я нахожусь в конце строки. Код, который у меня уже есть:
//READING NUMBER OF ACTIVITIES
inFile >> nbr_activities;
cout << nbr_activities << endl;
//READING PRECEDENCE RELATIONSHIP
for (int i = 0; i < nbr_activities; i++)
{
vector<int> temp_vec;
while (inFile.good())
{
int skills;
inFile >> skills;
temp_vec.push_back(skills);
}
precedence_per_activity.push_back(temp_vec);
}
//PRINTING THE VECTOR
for (int i = 0; i < nbr_activities; i++)
{
int j = 0;
while (inFile.good())
{
j++;
cout << precedence_per_activity[i][j] << ' ';
}
cout << endl;
}
Однако это не дает хорошего результата.
Может ли кто-нибудь мне помочь? Я действительно не могу увидеть любое решение ..
'в то время как (inFile.good()) 'this должно быть' while (inFile >> skills) ' –