public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* 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).