This is probably very simple, but I need to know where I'm going wrong.

I have a structure and a binary file containing lots of records. I want to read one record from the file into the structure, use the information in the structure, and then read another record (the next one) from the file into the structure.

This is my code:

#define REC_SIZE(sizeof(a_rec))

typedef struct{
char...;
char...;
float...;
int...;
}a_rec;

FILE *fp;


void main()
{

a_rec cust_rec;
a_rec *a_rec_ptr = &cust_rec;

/*open file*/

fread(a_rec_ptr, REC_SIZE, 1, fp);

/*then use data in structure, then read next record for use*/

fread(a_rec_ptr, REC_SIZE, 1, fp);

fclose(fp);
}

Why won't it read the next record in the binary file? The file pointer continues to point at the beginning of the same record.