C++学習の旅eof()、fail()
eof()
EOFはEnd Of Fileの略です.C言語では、標準ライブラリで定義されたマクロで、値は-1です.C言語では、出力ファイルの内容を判断するために、次のような方法が用いられることが多い.例:
C++では、eof()関数がファイルの最後にtrueを返すことができ、以前に返されたものはfalseであり、次のwhile文もwhile(true)からwhile(false)に変わり、ループが終了するため、この方法は簡略化される.例:
fail()
fail()は、ストリームが「壊れている」かどうかを判断するために使用されます.failbit、badbitのいずれかまたは両方が設定されている場合、fail()はtrueを返し、そうでない場合falseを返します.ファイルを開いた後、fail()関数を使用して通常検出されます.たとえば、次のようにします.
ファイルが存在しない場合、ファイルが他のプログラムに占有されると、失敗します.
EOFはEnd Of Fileの略です.C言語では、標準ライブラリで定義されたマクロで、値は-1です.C言語では、出力ファイルの内容を判断するために、次のような方法が用いられることが多い.例:
while ((c = fgetc(fp)) != EOF)
{
putchar (c);
}
C++では、eof()関数がファイルの最後にtrueを返すことができ、以前に返されたものはfalseであり、次のwhile文もwhile(true)からwhile(false)に変わり、ループが終了するため、この方法は簡略化される.例:
fstream fp;
char ch;
while (!fp.eof())
{
fin.get(ch);
cout << ch;
}
fail()
fail()は、ストリームが「壊れている」かどうかを判断するために使用されます.failbit、badbitのいずれかまたは両方が設定されている場合、fail()はtrueを返し、そうでない場合falseを返します.ファイルを開いた後、fail()関数を使用して通常検出されます.たとえば、次のようにします.
fstream fd;
fd.open("test.txt");
if ( fd.fail())
{
cout << "Error in opening the file !" << endl;
}
else
{
....
}
ファイルが存在しない場合、ファイルが他のプログラムに占有されると、失敗します.