C++学習の旅eof()、fail()

1163 ワード

eof()
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
{
    ....
}

ファイルが存在しない場合、ファイルが他のプログラムに占有されると、失敗します.