C ++ читает информацию из файла и строит двумерный вектор из этой информации

Текстовый файл отформатирован, как показано ниже:

2 столбца 2 строки все * перейти
(еще четыре строки, как это)

Для каждой строки текста мне нужно построить двухмерный вектор на основе информации, приведенной в строке текста, и вывода на консоль. Например, вывод первой строки текста будет выглядеть так:

**

**

Я могу прочитать информацию в моей программе; Однако я не знаю, как дальше. Как классифицировать информацию, чтобы программа знала, что в векторе должны быть 2 столбца и 2 строки?

Любые советы или помощь будут оценены.

Спасибо!

0

Решение

Похоже, вам нужно проанализировать входные данные и получить от него информацию. Теперь есть библиотеки для этого, как повышение :: дух но если вам нужен только этот простой случай, не было бы необходимости использовать такую ​​большую библиотеку только для одного случая.

Я бы предложил простое разбиение входной строки на слова, например так:

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());

Я думаю, что вы можете понять остальное.

Надеюсь это поможет.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]