Мне интересно, лучший ли это способ решения моей проблемы .
Я знаю значения для определенных смещений двоичного файла, в котором хранится нужная мне информация... Что я хочу сделать, так это перейти к смещениям, а затем прочитать определенное количество байтов, начиная с этого места.
После использования google я пришел к выводу, что лучше всего использовать fseek() для перемещения к позиции смещения, а затем использовать fread() для чтения количества байтов из этой позиции.
Правильно ли я думаю об этом? И если да, то как лучше поступить? то есть как объединить их вместе.
Если я не прав, что бы вы посоветовали мне сделать вместо этого?
Заранее благодарим за помощь.
Мэтт
Изменить:
Я следовал руководству по fread() и изменил его следующим образом:
`#include <stdio.h>
int main()
{
FILE *f;
char buffer[11];
if (f = fopen("comm_array2.img", "rt"))
{
fread(buffer, 1, 10, f);
buffer[10] = 0;
fclose(f);
printf("first 10 characters of the file:\n%s\n", buffer);
}
return 0;
}`
Поэтому я использовал файл 'comm_array2.img' и прочитал первые 10 символов из файл.
Но насколько я понимаю, это идет от начала файла, я хочу перейти от некоторого места в файле (смещение)
Имеет ли это больше смысла?
Редактировать номер 2:
Похоже, что я был немного туп, и все, что нужно (кажется из моей попытки), это поместить fseek() перед fread(), который у меня есть в код выше, и он ищет это место, а затем читает оттуда.