Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 文件结束后继续输入_C++ - Fatal编程技术网

C++ 文件结束后继续输入

C++ 文件结束后继续输入,c++,C++,是否有任何方法可以在文件结束或输入无效后继续输入。如果未记录某个数据成员,record函数将引发异常。我想捕获异常并使用另一个函数rerecord输入信息。程序将捕获异常并打印输出,但不会执行最后一部分 int main() { info person; try { person.record(std::cin); } catch(std::domain_error e) { std::cout << "Re-enter

是否有任何方法可以在文件结束或输入无效后继续输入。如果未记录某个数据成员,record函数将引发异常。我想捕获异常并使用另一个函数rerecord输入信息。程序将捕获异常并打印输出,但不会执行最后一部分

int main()
{
    info person;
    try {
        person.record(std::cin);
    }
    catch(std::domain_error e) {
        std::cout << "Re-enter person info" << std::endl;
        person.rerecord(std::cin);
    }
}

我想某些输入操作亲自失败了;cin的状态很差。 在这种情况下 应该有帮助。 特别是,请注意忽略。。。要想摆脱糟糕的输入

正在运行演示的代码:

#include <iostream>
#include <limits>

int main() {
    int i;

    std::cout << "Input: ";

    std::cin >> i;

    std::cout << "Received: " << i << "\nInput next:";

    std::cin.clear();
    std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');

    std::cin >> i;

    std::cout << "Received: " << i << "\n";

    return 0;
}

你能解释一下ctrl-d在你的程序中是什么意思吗?当你找到EOF ie时,使用cleareofbit如何?重置流如果你不想终止输入流,也不要按ctrl+d!我应该说得更清楚些。这不仅仅是ctrl-D。当输入失败时,将捕获异常。但不会执行最后一行。的可能重复项