943,545 Members | Top Members by Rank

Ad:
  • C Discussion Thread
  • Unsolved
  • Views: 7182
  • C RSS
Feb 24th, 2004
0

fread problem?

Expand Post »
Hi. Can anyone help me to distinguish the reason behind this case? Thanks a lot.
I initialized the following variable: unsigned char temp=0;
In the following statement block, I managed to get the results that I wanted to be displayed on the first go (traversing the while loop on the first run).
However, on the 2nd run, the temp being printed equals to the last temp printed in the first run.

while
{
// other print statements
// statement to get rlen
for(i=0; i<rlen; i++)
{
fread( (char*) &temp, sizeof(temp), 1 ,input);
printf("%x ", temp);
}
}


I've thought of it might be because of pointer problems? I am not sure. I am not any good at this, just a beginner. Please help. Thanks.
Similar Threads
Reputation Points: 53
Solved Threads: 1
Posting Whiz
red_evolve is offline Offline
313 posts
since Jun 2003
Feb 24th, 2004
0

Re: fread problem?

  1. for (int i = 0; i < rlen; i++)
  2. {
  3. printf("%x\n", fgetc(input));
  4. }

do it that way
Reputation Points: 13
Solved Threads: 6
Junior Poster in Training
r0ckbaer is offline Offline
55 posts
since Dec 2003
Feb 24th, 2004
0

Re: fread problem?

Thanks a lot for your reply.
I've tried and hey, the output differs, however it's still not what I expected it to be.

The first loop:
  1. a1 b3 8 9a // which is correct

The second loop:
  1. 9a 9a 9a 9a // before r0ckbaer's advice

  1. ffffff // after applying to r0ckbaer's advice
  2. ffffff
  3. ffffff
  4. ffffff
Reputation Points: 53
Solved Threads: 1
Posting Whiz
red_evolve is offline Offline
313 posts
since Jun 2003
Feb 24th, 2004
0

Re: fread problem?

Well, normally fgetc gets one char per loop (in the above example) and increments the file pointer with 1, so:
a1 b3 8 9a
would be a result after 4 loops.
Be more specific on how you want the output to look like and if possible paste a snapshot of the hexdump of lets say the first 50 bytes of the file u want to analyze.
Reputation Points: 13
Solved Threads: 6
Junior Poster in Training
r0ckbaer is offline Offline
55 posts
since Dec 2003
Feb 25th, 2004
0

Re: fread problem?

Well, it's a project for computer networks actually.
I am to capture packets using a program called windump, and then decode each field of information in their respective ethernet frame, ip frame, tcp/udp frame.
It seems that the results is not stable, in some packets, I could get the correct output, while not in some other packets.
Is it always like that? (Now, it seems like it has to be in the 'networking' topic & not c already!)
This is because, I strongly feel that there is no problem with the codes. I've got a comment from a coursemate that output will be more accurate using bigger packet files. :!: Please advise. Thanks.
Reputation Points: 53
Solved Threads: 1
Posting Whiz
red_evolve is offline Offline
313 posts
since Jun 2003
Mar 23rd, 2004
0

Re: fread problem?

Quote originally posted by r0ckbaer ...
  1. for (int i = 0; i < rlen; i++)
  2. {
  3. printf("%x\n", fgetc(input));
  4. }

do it that way
this is wrong. you cannot just call functions without checking the error return of them. fgetc() can fail, and must be checked. and from the ff output u can tell that it is trying to tell u something!! that is EOF or error being returned! lets see the rest of the code.
Reputation Points: 47
Solved Threads: 2
Junior Poster in Training
infamous is offline Offline
77 posts
since Mar 2004

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in C Forum Timeline: TImage & TBitmap Compatibilities
Next Thread in C Forum Timeline: Need help with Const, Ref and Classes.





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC