Я хочу читать байты из файла с определенным смещением.
Я должен сделать то же самое в VB6 и из C ++.
Например, вот так:
FILE *file =fopen(szFileName,"rb");
fseek( file, iFirstByteToRead, SEEK_SET);
fread(nBytes,sizeof(unsigned char), iLenCompressedBytes, file);
(да, я знаю, что nBytes не объявлен как байт, но я все равно назвал его nBytes, чтобы сохранить мой VB6 имен).
В VB6 я должен использовать
Get #iFile, iFirstByteToRead, nBytes
В VB6 первый байт (при использовании «Get») находится в позиции 1.
Это значит, что я должен сказать
Get #iFile, 1, nBytes
… читать байты с самого начала файла.
Я хотел бы знать, если fseek также на основе 1 или 0.
Должен ли я уменьшить iFirstByteToRead на -1, чтобы получить те же результаты?
Мой вопрос носит чисто теоретический характер, пожалуйста, не говорите, что мое кодирование плохое или около того …
Спасибо.
В короткие сроки: fseek
смещения для SEEK_SET
основаны на нуле (например, fseek(your_file, 0, SEEK_SET)
установит позицию потока в начало).
Первый байт имеет смещение 0 в файле.