complex variable

Ankit Jain ankitjain1580@yahoo.com
Mon Sep 6 13:45:00 GMT 2004


      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,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 }

i am sorry but this code also gives the same error

error in reading from file failed

ankit
 --- Sriharsha Vedurmudi
<sriharsha.v@redpinesignals.com> wrote: 

---------------------------------
    Ankit Jain 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"  

Which in the above errors (in Bold) is displayed.
Because, both of themare different. And I dont see any
means by which it would print theerror you specified.

Coming to fread, the third arguement should be 32 in
case you aretrying to read 32 items each of size 16
bytes and then the return valuewill be 32 in case it
actually reads 32 such items. In the abovestatement,
you have asked fread like this:

Read 32 * 16 elements (total of 512 elements) each 16
bytes long from'fp' and store tehm at 'in'. If you
dont read 32 such elements, printerror message. 

Can you see the ambiguity here (ask it to read 512
elements and compareif it reads 32).....

-Harsha
 

________________________________________________________________________
Yahoo! Messenger - Communicate instantly..."Ping" 
your friends today! Download Messenger Now 
http://uk.messenger.yahoo.com/download/index.html



More information about the Gcc-help mailing list