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