我有一个输入文件,它由多个由空格或换行符分隔的整数组成。前任:
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
.... 等等。
我需要根据这个输入文件来决定我有多少个不同的输入集。我无法做到这一点。有小费吗?
逐行读取文件。每次读取后,检查流中的下一个字符是什么。如果是'\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);
}