Двумерная векторная печать
У меня есть двумерный вектор строки, который мне нужно распечатать. Вся программа должна прочитать строку из текстового файла, сохранить каждое слово из него как отдельный элемент, а затем вставить «вектор слова» в вектор, содержащий, например, 100 строк. У меня все идет, но проблема возникает, когда мне нужно распечатать вектор. Каждая строка может иметь различное количество слов, например:
мне нравится торт
много.
Поэтому я не могу использовать:
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 3; j++)
{
cout << vec[i][j];
}
}
потому что вторая строка не содержит 3 элемента и программа закрывается.
Есть идеи как это сделать? Примечание: мой лектор не принимает C ++ 11, поэтому было бы полезно решение на основе C ++ 98. Это моя функция:
void readline(vector<vector<string> >& lines, int size)
{
vector<string> row;
string line, word;
fstream file;
istringstream iss;
int i;
file.open("ticvol1.txt", ios::in);
for (i = 0; i < size; i++)
{
getline(file, line);
iss.str(line);
while (iss >> word) row.push_back(word);
lines.push_back(row);
}
}