Как читать значения из файла. токенизатор

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

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
    }
}

Если вы точно знаете, что в каждой строке будет ровно два ints (т. е. вы абсолютно положительно доверяете своему источнику), вы можете читать значения непосредственно из потока.

Другие вопросы по тегам