2

我有一个输入文件,它由多个由空格或换行符分隔的整数组成。前任:

7\n
2 2\n
3 4\n
\n
8\n
3 1\n
5 6\n
7 7\n
\n
3\n
1 2\n
3 4\n

.... 等等。

我需要根据这个输入文件来决定我有多少个不同的输入集。我无法做到这一点。有小费吗?

4

1 回答 1

5

逐行读取文件。每次读取后,检查流中的下一个字符是什么。如果是'\n'(或 EOF),则您处于输入集的末尾。

std::string line;
std::ifstream stream;
size_t sets = 0;

while (std::getline(stream, line)) {

    // do something with line

    int next = stream.get()
    if (next == '\n' || next == EOF)
        ++sets;
    else
        stream.putback(next);
}
于 2012-09-30T08:34:47.523 回答