So i basically need my program to open a file and do something. When the program asks for the user to input the file name, and the user inputs the name of file correctly the first time, the operation works. But if the user typed the name wrong, the program says “invalid name try again” but then it is never able to open the file even if the user types the name correctly. Here’s the code:
ifstream read_file(file.c_str());
while(true)
{
if(!(read_file.fail()))
{
...
}
else
{
cout << "Either the file doesn't exist or the formatting of the file is incorrect. Try again.\n>";
}
cin >> file;
ifstream read_file(file.c_str());
}
What is the problem, any thoughts? Thank you
You are redeclaring read_file inside the loop, but the code at the top of the loop always use the read_file outside the loop.
This is what you want instead: