Как читать значения из файла. токенизатор
У меня есть файл, в котором каждая строка содержит два числа. Проблема состоит в том, что два числа разделены пробелом, но пробел может быть любым количеством пробелов. один, два или более. Я хочу прочитать строку и сохранить каждое из чисел в переменной, но я не уверен, как ее маркировать.
i.e
1 5
3 2
5 6
3 4
83 54
23 23
32 88
8 203
1 ответ
Решение
Прочитайте каждую строку, вставьте содержимое строки в stringstream
, а затем прочитать два int
вне линии:
std::string line;
while (std::getline(myfilestream, line))
{
std::stringstream ss(line);
int i, j;
if (ss >> i >> j)
{
// use i and j
}
}
Если вы точно знаете, что в каждой строке будет ровно два int
s (т. е. вы абсолютно положительно доверяете своему источнику), вы можете читать значения непосредственно из потока.