Well, why not take a look at the file...
Code:
54 32E1
-6.78 $80
1
First of all, do you agree that that is what the file should look like?
If so, lets move on to the extractions...
The first thing it tries to extract is n1. This is an integer, so it looks for the first thing in the stream that it can recognize as an integer. The number 54 in this case.
Then it tries to extract n2, another integer. The top of the stream is 32E1, but only the 32 part make an integer. So it extracts 32, and stores it.
Then you ask for c1, a char. So it extracts the first char it finds, which is 'E'.
Then you ask for another char, so it looks, and finds '1'.
Then you ask for ANOTHER char. It looks, and finds '-'.
Then you ask for a double. It has 6.78, so it takes that.
Are you getting the pattern? If this isn't clear enough, try to explain just what is getting you confused...