ファイルの終端を検知する
バージョン 4.0 以降
ファイルからデータを読み取るストリームでファイルの終端を検知するには、
SFXStreamReader::Ends 関数を使用します。
以下のコードは、ファイルから終端に達するまで1文字ずつ読み込み、表示します。
SFXFile file; SFXBinaryStreamReader reader; if (file.OpenReadOnly(SFXPath("/data.txt")) == SFERR_NO_ERROR) { // ファイルのオープンに成功したなら UInt08 c; file.GetStreamReader(10, &reader); while (!reader.Ends()) { // ファイルの終端に到達するまで if (reader.GetReadableSize() == 0) { reader.Fetch(); } reader >> c; // 1文字読み込み TRACE("%c", c); // 表示 } file.Close(); }
バージョン 3.0
ファイルストリームでファイルの終端を検知するには、
SFUFileStream::IsEOS 関数を使用します。
以下のコードは、ファイルから終端に達するまで1文字ずつ読み込み、表示します。
SFUFileStream fstream; if (fstream.Open("/data.txt", _OFM_READ) == SFERR_NO_ERROR) { // ファイルのオープンに成功したなら AChar c; while (!fstream.IsEOS()) { // ファイルの終端に到達するまで fstream >> c; // 1文字読み込み TRACE("%c", c); // 表示 } fstream.Close(); }
参照 SFXFile::OpenReadOnly | SFXFile::GetStreamReader |
SFXStreamReader::GetReadableSize | SFXStreamReader::Fetch