掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Win32APIのReadFile関数の仕様で不明瞭な点がいくつかあるのですが (ID:63331)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ReadFileにてファイルの同期読み込みを行うとき、 > 戻り値が 0 以外で、実際に読み取ったバイト数が 0 の場合、読み取り操作を開始する時点でファイルポインタがファイルの終わり(EOF)を超えていたことを示します。 これは分かるのですが、 > 同期の読み取り操作を行っていて、ファイルの終わりに達した場合、ReadFile 関数は 0 以外の値(TRUE)を返し、*lpNumberOfBytesRead を 0 に設定します。 これはつまり、同期の読み取り操作を行っていてファイルの終わりに達した場合はどれだけ、読み込んだのか分からないということになりますよね。 だから例えば、ファイルをサイズのチェックもせずにただひたすら先頭から末尾まで読み込んでいくようなプログラムは、最後に読み込んだデータのどこまでを使っていいのか分からなくなると思うのですが、ドキュメントの解釈あってるでしょうか? MSDN http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpfileio/html/_win32_readfile.asp
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.