我正在尝试用 C++ 读取文件。我向用户询问文件名,如果文件存在,我打开它,但如果它不存在,我会一直询问,直到输入有效的文件名。但是当用户首先输入错误的文件时,即使它输入了一个有效的文件名,之后我的程序也会将其识别为错误。这是我的代码:
ifstream input;
string filename;
cout<<"Enter the file name";
cin>>filename;
input.open(filename.c_str());
while(input.fail())
{
cout<<"Incorrect filename, please enter again";
cin>>filename;
input.open(filename.c_str());
}
任何人都可以帮忙吗?谢谢