0

特定のオフセットを持つファイルからバイトを読み取りたい。

VB6 と C++ で同じことをしなければなりません。

たとえば、次のようにします。

FILE *file =fopen(szFileName,"rb");
fseek( file, iFirstByteToRead, SEEK_SET);
fread(nBytes,sizeof(unsigned char), iLenCompressedBytes, file);

(はい、nBytes がバイトとして宣言されていないことは知っていますが、VB6 の命名を維持するために nBytes という名前を付けました)。

VB6では使用する必要があります

Get #iFile, iFirstByteToRead, nBytes

VB6 では、最初のバイト (「Get」を使用する場合) は位置 1 にあります。これは、私が言わなければならないことを意味します。

Get #iFile, 1, nBytes

...ファイルの最初からバイトを読み取る。

fseekも1ベースなのか0ベースなのか知りたいです。

同じ結果を得るには、iFirstByteToRead を -1 減らす必要がありますか?

私の質問は純粋に理論的なものです。私のコーディングが悪いなどとは言わないでください...

ありがとうございました。

4

2 に答える 2

5

簡単に言うfseekと、 a のオフセットSEEK_SETはゼロベースです (たとえばfseek(your_file, 0, SEEK_SET)、ストリームの位置を先頭に設定します)。

于 2013-03-31T15:26:26.963 に答える
2

最初のバイトは、ファイルのオフセット 0 にあります。

于 2013-03-31T15:26:22.790 に答える