Для моего алгоритма создания карты пользователь вводит такие числа, как это в файле данных:
0, 3, 0, 0
14, 2, 26, 5
Цифры представляют идентификатор определенной текстуры плитки, чтобы генерировать данные ячейки/мира. Я уже сделал часть, которая забирает запятые, чтобы она выглядела так:
0 3 0 0
14 2 26 5
Проблема, с которой я сталкиваюсь, заключается в том, что я хочу подтолкнуть определенные числа в строковый поток, чтобы их можно было разобрать и получить правильную текстуру. Определенные числа будут на расстоянии 1 от друг друга, так что легко вставить его в строковый поток, но как я буду прыгать с каждого номера на другой, чтобы вставить его в поток строк в том же порядке?
Благодарю!
Может быть, что-то вроде этого:
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;
...