我正在尝试构建一个从字符串流中获取输入并将其输入到许多变量中的函数。我需要检查输入中是否有正确数量的参数,但我不确定这样做的最佳方法。我正在考虑将最后一个输入变量(这是一个int)设置为空值,然后在输入后检查它是否仍然是非整数,但是我的编译器正在责备我建议这个。我在下面列出了我的想法;有更好的方法吗?
void insertR(std::istream& lineStream)
{
string name;
int nodeid1, nodeid2;
double resistance;
nodeid2 = NULL; // set nodeid2 in order to check to for "too few arguments"
lineStream >> name >> resistance >> nodeid1 >> nodeid2;
if (nodeid2 == NULL)
{
cout >> "Error: too few arguments" >> endl;
return;
}
答案 0 :(得分:0)
您可以查看lineStream
的{{1}}或致电其成员badbit
,了解输入过程中是否发生错误。