fc2ブログ
GEEKy Script Writer [perl and more!]
You should permit the JavaScript!!
[自分用メモ][Win32]ReadFile()の謎
ReadFile()がうまく動作してくれない。なんで?

BYTE buf;
hFile = CreateFile(
pFile, GENERIC_WRITE | GENERIC_READ, 0, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_WRITE_THROUGH
| FILE_FLAG_RANDOM_ACCESS, NULL
);
if (SetFilePointer(hFile, (LONG)offset, NULL, FILE_BEGIN)
== INVALID_SET_FILE_POINTER)
return errmsg("失敗");
if (ReadFile(hFile, &buf, 1, &rdsize, NULL) == 0)
return errmsg("失敗");

これでbufにカレントファイルポインタから1byte読み込まれるはずなんだけど、読み込まれない。
本来05が読み込まれるはずが、なぜか00

ためしにbufをBYTE buf[3]と宣言して、ReadFile()にはbufを渡し、3byte読み込むようにしてみるとbuf[1],buf[2]には正しい値が読み込まれるけどbuf[0]は上と同じで00。

BYTE buf[2]にしてみるとbuf[0],buf[1]とも00でだめ。

というわけで現在深追い中。orz
コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
この記事へのトラックバック
copyright © 2005 GEEKy Script Writer [perl and more!] all rights reserved.
Powered by FC2ブログ.