1

ログレコードを書き込むためにランダムなファイルアクセスを行っています。後で、ログ番号に基づいてログにアクセスします。ログ番号を使用して、レコードのオフセットを計算し、それに直接アクセスします。関数SetFilePointerExは、ファイル内の現在の場所を設定するために使用され、そこからレコードを直接読み取ることができます。

この関数は、パラメーターとしてLARGE_INTEGERを想定しています。SetFilePointerEx関数にLARGE_INTEGERを使用するにはどうすればよいですか?要求。notesによると、プログラムは64ビットOSを対象としています。

4

1 に答える 1

4

を仮定すると、ファイルオフセットに必要な値LARGE_INTEGER li;に設定li.QuadPartし、呼び出しのオフセット引数に使用します。それとも私は何か明らかなことを見逃しましたか?LONGLONGli

LARGE_INTEGER li, lo={0};
li.QuadPart = yourOffsetValue;

SetFilePointerEx(hFile, li, &lo, FILE_BEGIN);
于 2012-11-22T07:57:45.070 に答える