Предположим, у меня есть программа, которая работает с двоичными файлами на языке C.
Предположим, у меня есть 8 объектов (каждый объект имеет тип записи struct) в этом двоичном файле, и я прочитал первые 3 объектаиз 8. (Читая 3 объекта из 8, я имею в виду, что я прочитал его и сохранил их в массив)
Я знаю, чтобы прочитать содержимое двоичного файла позже, я должен использовать вызов fseekдля достижения этой цели.Что меня смущает, так это предположим, что я хочу прочитать 4-й объект из 8, сколько байтов / объектов я должен переместить / пропустить, используя вызов fseek?
Должен ли я позвонить
fseek(fp, sizeof(struct record) * 3, SEEK_SET);
или
fseek(fp, sizeof(struct record) * 4, SEEK_SET);