Текстовый файл отформатирован, как показано ниже:
2 столбца 2 строки все * перейти
(еще четыре строки, как это)
Для каждой строки текста мне нужно построить двухмерный вектор на основе информации, приведенной в строке текста, и вывода на консоль. Например, вывод первой строки текста будет выглядеть так:
**
**
Я могу прочитать информацию в моей программе; Однако я не знаю, как дальше. Как классифицировать информацию, чтобы программа знала, что в векторе должны быть 2 столбца и 2 строки?
Любые советы или помощь будут оценены.
Спасибо!
Похоже, вам нужно проанализировать входные данные и получить от него информацию. Теперь есть библиотеки для этого, как повышение :: дух но если вам нужен только этот простой случай, не было бы необходимости использовать такую большую библиотеку только для одного случая.
Я бы предложил простое разбиение входной строки на слова, например так:
string input = "2 columns 2 rows all * go"; // Read it from some input
istringstream iss(input);
vector<string> tokens;
copy(istream_iterator<string>(iss),
istream_iterator<string>(),
back_inserter<vector<string> >(tokens));
Тогда tokens
твои слова. Поэтому, если вы ожидаете, что первое слово предназначено для столбцов, а третье — для строк, вы можете сделать следующее:
int columns = atoi(tokens[0].c_str());
int rows = atoi(tokens[2].c_str());
Я думаю, что вы можете понять остальное.
Надеюсь это поможет.
Других решений пока нет …