* complex variable
@ 2004-09-06 12:22 Ankit Jain
2004-09-06 13:32 ` Ankit Jain
0 siblings, 1 reply; 6+ messages in thread
From: Ankit Jain @ 2004-09-06 12:22 UTC (permalink / raw)
To: gcc
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"
whats wrong?
ankit
________________________________________________________________________
Yahoo! Messenger - Communicate instantly..."Ping"
your friends today! Download Messenger Now
http://uk.messenger.yahoo.com/download/index.html
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: complex variable
2004-09-06 12:22 complex variable Ankit Jain
@ 2004-09-06 13:32 ` Ankit Jain
0 siblings, 0 replies; 6+ messages in thread
From: Ankit Jain @ 2004-09-06 13:32 UTC (permalink / raw)
To: gcc
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@yahoo.com> 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
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: complex variable
2004-09-06 13:45 ` Ankit Jain
@ 2004-09-06 14:09 ` Patrick Percot
0 siblings, 0 replies; 6+ messages in thread
From: Patrick Percot @ 2004-09-06 14:09 UTC (permalink / raw)
To: gcc-help
On Mon, 6 Sep 2004 14:45:25 +0100 (BST), Ankit Jain <ankitjain1580@yahoo.com> 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,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
So, the problem is with the data you are trying to read.
Why don't you write :
if (fread(in, sizeof(complex) , N, fp) != N)
[..Zappé 47 lignes et 1698 caractères..]
À+
PP
--
Groupe Morbihannais d'Utilisateurs de Logiciels Libres http://www.tuxbihan.org
GPG fingerprint = 1A4F E154 3D2C A20E E4CA A543 7951 C5C2 E44A A0B5
Patrick Percot.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: complex variable
[not found] <413C5C4D.9070107@redpinesignals.com>
@ 2004-09-06 13:45 ` Ankit Jain
2004-09-06 14:09 ` Patrick Percot
0 siblings, 1 reply; 6+ messages in thread
From: Ankit Jain @ 2004-09-06 13:45 UTC (permalink / raw)
To: Sriharsha Vedurmudi; +Cc: gcc
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
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: complex variable
2004-09-06 12:48 ` Ankit Jain
@ 2004-09-06 13:12 ` Claudio Bley
0 siblings, 0 replies; 6+ messages in thread
From: Claudio Bley @ 2004-09-06 13:12 UTC (permalink / raw)
To: gcc
On Mon, Sep 06, 2004 at 01:47:58PM +0100, Ankit Jain wrote:
> "fread and fwrite return the number of items
> successfully read "
> well i am reading 32 complex neumbers...
No, you're reading 32*16 == 512 elements (i.e. complex numbers)
each 16 bytes in size.
Try:
if(fread(in,sizeof(complex),32,fp) != 32)
HTH
Claudio
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: complex variable
[not found] <20040906.143802.63132483.ppercot@free.fr>
@ 2004-09-06 12:48 ` Ankit Jain
2004-09-06 13:12 ` Claudio Bley
0 siblings, 1 reply; 6+ messages in thread
From: Ankit Jain @ 2004-09-06 12:48 UTC (permalink / raw)
To: Patrick Percot; +Cc: gcc
"fread and fwrite return the number of items
successfully read "
well i am reading 32 complex neumbers...sorry i dont
understand why it whould be 16 and not 32?
ankit
--- Patrick Percot <ppercot@free.fr> wrote:
> On Mon, 6 Sep 2004 13:22:15 +0100 (BST), Ankit Jain
> <ankitjain1580@yahoo.com> 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)
>
> The manual page says :
>
> RETURN VALUE
> fread and fwrite return the number of items
> successfully read or
> written (i.e., not the number of
> characters). If an error
> occurs, or the end-of-file is reached, the
> return value is a
> short item count (or zero).
>
> So if fread is OK, it returns 16 not 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"
> >
> > whats wrong?
> >
> > ankit
> >
> >
>
________________________________________________________________________
> > Yahoo! Messenger - Communicate instantly..."Ping"
> > your friends today! Download Messenger Now
> > http://uk.messenger.yahoo.com/download/index.html
> >
>
> Ã+
> PP
> --
> Groupe Morbihannais d'Utilisateurs de Logiciels
> Libres http://www.tuxbihan.org
> GPG fingerprint = 1A4F E154 3D2C A20E E4CA A543
> 7951 C5C2 E44A A0B5
>
> Patrick Percot.
>
________________________________________________________________________
Yahoo! Messenger - Communicate instantly..."Ping"
your friends today! Download Messenger Now
http://uk.messenger.yahoo.com/download/index.html
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2004-09-06 14:09 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-09-06 12:22 complex variable Ankit Jain
2004-09-06 13:32 ` Ankit Jain
[not found] <20040906.143802.63132483.ppercot@free.fr>
2004-09-06 12:48 ` Ankit Jain
2004-09-06 13:12 ` Claudio Bley
[not found] <413C5C4D.9070107@redpinesignals.com>
2004-09-06 13:45 ` Ankit Jain
2004-09-06 14:09 ` Patrick Percot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).