我的程序有一个输入文件,用于存储用于两个参数的值。
# X parameter values to use
10 20 30 40
# Y parameter values to use
5
值的数量不是固定的,而是客户端选择要使用的值(在此示例中,4表示X,1表示Y(也可以是0))。如果我做了
ifstream in("input.in");
int value;
in >> value >> value >> ...
程序不会在行尾停止,当X行结束时,显然也会读取Y行的X值。如何在行尾停止阅读?我想读取值,直到找到' \ n'。谢谢!
答案 0 :(得分:4)
std::string line;
std::getline(in, line);
现在您将该行作为字符串( #include <string>
)并需要解析它。您可以使用std::istringstream
( #include <sstream>
)以与以前相同的方式执行此操作。
std::istringstream iss(line);
while (iss >> value) // read until failure
{
// process value
}