ユーザーがファイルを入力する必要があり、ユーザーが存在するファイルを入力している限り、ファイルはループします。ユーザーが存在しないファイルを入力すると、プログラムが中断します。
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
string currentfile;
int i = 0;
do {
cout << "Please enter a file name \n";
cin >> currentfile;
cout << currentfile << "\n";
ifstream myfile(currentfile);
if (myfile.good())
{
// display thenumber of characters, words, and lines in that file
myfile.close();
}
else {
cout << "break";
break;
}
i++;
} while(true);
// repeat while user enters valid file name
}
存在するファイルを入力すると、myfile.good()
良い結果が返され、存在しないファイルを入力しようとすると、myfile.good()
再び true が返されます。プログラムを起動して最初に試してみると、存在しないファイルthen myfile.good()
は false を返します。
myfile.good()
有効なファイルを入力した後も true を返し続ける理由がわかりません。