C++ 新手,但我有一些编程经验...
我正在尝试一种非常基本的方法来从用户那里获取文件名,然后打开文件。我正在使用一些非标准库(斯坦福库),但我认为这不会影响事情。
ifstream in;
while(true){
string filename="";
cout << "Enter the name of the file. ";
getline(cin, filename);
in.open(filename.c_str());
if (in.fail()){
cout << "ERROR opening file. Try again.";
} else {
break;
}
}
... more code ...
如果我第一次输入有效的文件名,它可以正常工作并继续前进。如果我输入了无效的文件名,我会收到错误消息并循环询问另一个文件名,但即使文件有效,它也会将所有后续条目视为无效。任何想法我做错了什么?谢谢!