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