From: Sigurdur Smarason Newsgroups: comp.os.msdos.djgpp Subject: newbie:problem with fread Date: 3 Oct 1998 02:47:34 GMT Organization: Tufts University Lines: 46 Message-ID: <6v4386$c7t$1@news3.tufts.edu> NNTP-Posting-Host: emerald.tufts.edu X-Trace: news3.tufts.edu 907382854 12541 (None) 130.64.1.16 X-Complaints-To: news AT news DOT tufts DOT edu X-Newsreader: TIN [UNIX 1.3 unoff BETA 970705; alpha OSF1 V4.0] To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp I just got djgpp v2.01, runing on a 486DX2-66 ms-dos/win3.1 (hey it's old but paid for :) ) I'm trying to read a binary file by passing a struct to fread, and everything seems ok except when there is an odd number of shorts between longs, then it skips two bytes after reading the short, then reads the next long. this became aparent when I compared the values of num_records and beyond to what they should be. Any ideas ? thanks Siggi # include struct header_record{ long file_type; short seq_index; short als_bottle; short replicate; short dir_ent_type; long dir_offset; long data_offset; long run_tbl_offset; long norm_offset; short extra_records; long num_records; short start_time; short end_time; long max_signal; long min_signal; }; main(){ FILE *data; clrscr(); data=fopen("c:\\work\\data.ms","rb"); header_record header; int size; size=fread(&header,sizeof(header),1,data); fclose(data); }