fread를 두번 연속 쓰면, 안되는 경우가 있다.
이 때에는 fseek으로 파일스트림포인터를 옮길것.
_pkthdr *pkthdr;
pkthdr = (_pkthdr *)malloc(sizeof(_pkthdr));
//위 동적할당 안하고 fread하면, 절대 안됨.
FILE *pcap_file = fopen("real_new.pcap", "rb");
if (pcap_file == NULL)
{
printf("no such file exit.");
return 0;
}
fseek(pcap_file, 24, SEEK_SET);
fread(pkthdr, sizeof(_pkthdr), 1, pcap_file);
printf("%lu\n", pkthdr->timeval._sec);
}
int main()
{
_pkthdr pkthdr;
FILE *pcap_file = fopen("real_new.pcap", "rb");
if (pcap_file == NULL)
{
printf("no such file exit.");
return 0;
}
fseek(pcap_file, 24, SEEK_SET);
fread(&pkthdr, sizeof(_pkthdr), 1, pcap_file);
printf("%lu\n", pkthdr.timeval._sec);
}