Я нашел этот симпатичный маленький фрагмент, который делает паузу для пользователя, но он не позволяет выбора. Я хотел бы разрешить пользователю выйти или повторно войти, если он ошибочно вводит имя входного файла. Конечно, программа завершает работу, если файл не существует, но лучше позволить пользователю принять это решение.пауза для коррекции пользователя для ввода
void pause() {
cout << "Press ENTER to continue...";
cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
}
Вызов программы snippet-
std::string name;
std::cout << "Please, enter your file name: ";
std::getline (std::cin,name);
std::cout << "Hello, " << name << '\n';
pause();
std::ifstream is (name.c_str(),ios::in | std::ifstream::binary);
выход для плохого имени файла -
Please, enter your file name: col.tat
Hello, col.tat
Press ENTER to continue...
file not found --- col.tat
unix%
Как код может быть изменен, чтобы дать пользователю возможность повторно войти в файл имя. Я отмечаю, что это, вероятно, нормально, так как это плохое имя файла, но не удается, когда пользователь вводит неправильное имя файла, например, вчерашнюю работу.