我开始了学校作业的第一部分,我必须提示用户输入文件名,检查文件是否存在,如果存在,打开它进行处理;否则我要让用户输入另一个文件名。
当我在下面编译并运行我的程序时,我收到错误消息“不存在文件。请输入另一个文件名。” 当我输入不存在的文件名时,它只会再次运行我的 do while 循环的第一部分。我是 C++ 的初学者,但我以前做过,我觉得它应该可以正常运行。任何帮助,将不胜感激。
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
struct customerData
{
int _customerID;
string _firstName, _lastName;
double _payment1, _payment2, _payment3;
};
void processFile();
int main()
{
processFile();
system ("pause");
return 0;
}
void processFile()
{
string filename;
ifstream recordFile;
do
{
cout << "Please enter a filename\n";
cin >> filename;
recordFile.open(filename);
if (recordFile.good())
// {
// enter code for if file exists here
// }
;
}
while(recordFile.fail());
{
cout << "No file by that name. Please enter another filename\n";
cin >> filename;
recordFile.open(filename);
}
}