-1

我正在尝试构建一个函数,该函数从字符串流中获取输入并将其输入到多个变量中。我需要检查输入中的参数数量是否正确,但我不确定执行此操作的最佳方法。我正在考虑将最后一个输入变量(它是一个 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;
    }
4

1 回答 1

0

您可以检查lineStream'badbit或调用其成员bad(),以查看输入过程中是否发生错误。

于 2013-10-01T03:21:23.403 回答