Вставка всех чисел в строке файла в поток строк

0

Для моего алгоритма создания карты пользователь вводит такие числа, как это в файле данных:

0, 3, 0, 0
14, 2, 26, 5

Цифры представляют идентификатор определенной текстуры плитки, чтобы генерировать данные ячейки/мира. Я уже сделал часть, которая забирает запятые, чтобы она выглядела так:

0 3 0 0
14 2 26 5

Проблема, с которой я сталкиваюсь, заключается в том, что я хочу подтолкнуть определенные числа в строковый поток, чтобы их можно было разобрать и получить правильную текстуру. Определенные числа будут на расстоянии 1 от друг друга, так что легко вставить его в строковый поток, но как я буду прыгать с каждого номера на другой, чтобы вставить его в поток строк в том же порядке?

Благодарю!

  • 1
    В заголовке написано, что нужно вставить все числа в поток строк, но потом вы скажете, что хотите вставить определенные числа в поток строк. Какой это и какие цифры вы пытаетесь использовать?
  • 0
    Я думаю , что это можно было бы сделать более эффективно , если вы сказали нам , что данные, так что мы можем пропустить несколько посредников.
Показать ещё 2 комментария
Теги:
string
fstream
stl
stringstream

1 ответ

0

Может быть, что-то вроде этого:

std::string snumbers = ...; // your input string with no commas
std::stringstream sstream(snumbers);

std::vector<std::string> items;
std::string item;
while(sstream >> item) items.push_back(item);

const size_t N = items.size() / 2; // this is the number of pairs you have

std::cout << "pair 0: " << items[0] << ", " << items[N] << std::endl;
std::cout << "pair 1: " << items[1] << ", " << items[1+N] << std::endl;
...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню