well i had tried this also fread(in,16,32*16,fp) != 32*16 earlier but dosent work and gives the same error actually i have 32 complex nos whose size is 16byte each so total size is 32*16->its the size not the no. of elements i am reading so i feel fread(in,16,32*16,fp) != 32 this should be right? ankit --- Ankit Jain <ankitjain1580@xxxxxxxxx> wrote: > 1 #include<stdlib.h> > 2 #include<complex.h> > 3 #include<stdio.h> > 4 > 5 int main() > 6 { > 7 FILE *fp; > 8 fp=fopen("test_data.dat","rb"); > 9 int N=32,i=0; > 10 complex x,*in; > 11 in=malloc(sizeof(complex)*N); > 12 if (fread(in,16,32*16,fp) != 32) > 13 printf("error in reading from file > failed\n"); > 14 else{ > 15 for(i=0;i<N;i++) > 16 printf("%lf\t",*(in+i+0)); > 17 } > 18 return 0; > 19 } > > it gives error > "error in reading the file failed" > > whats wrong? > > ankit > > ________________________________________________________________________ > Yahoo! Messenger - Communicate instantly..."Ping" > your friends today! Download Messenger Now > http://uk.messenger.yahoo.com/download/index.html > ________________________________________________________________________ Yahoo! Messenger - Communicate instantly..."Ping" your friends today! Download Messenger Now http://uk.messenger.yahoo.com/download/index.html