here is the deal, if you press enter, no prob, it waits for a filename, if you enter a bad filename, fin fails and it loops to ask for a valid filename, however, if you then enter a valid filename, it continues to loop regardless.
Here is the code:
I think the problem is that fin does not get rediefined, but i am not sure how to get around it. ThanksCode:#include <iostream> #include <fstream> #include <string> using namespace std; int main() { cout << "enter filename: "; string filename; getline(cin, filename); while (filename.empty()) getline(cin, filename); ifstream fin(filename.c_str()); while (fin.fail()) { cout << "ERROR: enter filename: "; getline(cin, filename); while (filename.empty()) getline(cin, filename); ifstream fin(filename.c_str()); } return 0; }
-quizkiwi