Как читать значения из файла. токенизатор - PullRequest
0 голосов
/ 09 апреля 2010

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

i.e
1 5
3 2
5    6
3  4
83         54
23 23
32   88
8         203

1 Ответ

4 голосов
/ 09 апреля 2010

Прочитайте каждую строку, вставьте содержимое строки в 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 с (т. Е. Вы абсолютно, положительно доверяете своему источнику), вы можете прочитать значения непосредственно из потока.

...