i got the answer, my ques. was why there are two different values of bf.size
,,
reason i got: 1st time it's reading e601 and in 230 case it was reading only
e6

On Tue, Apr 26, 2011 at 1:56 AM, junaid ahmed <[email protected]>wrote:

> can u state the problem statement??
>
>
> On Mon, Apr 25, 2011 at 3:43 AM, chase <[email protected]> wrote:
>
>> #include <stdint.h>
>>  #include <stdio.h>
>>  #include <stdlib.h>
>> int main(int argc, char *argv[]) {
>> // ensure proper usage
>> if (argc != 2)
>> return 1;
>> // open file
>>  FILE *fp = fopen(argv[1], "r");
>> if (fp == NULL)
>> return 1;
>> // seek to BITMAPFILEHEADER's bfSize
>>  fseek(fp, 2, SEEK_SET);
>> // read in BITMAPFILEHEADER's bfSize
>> uint32_t bfSize;
>> fread(&bfSize, sizeof(bfSize), 1, fp);
>> // print bfSize
>>  printf("\nbfSize: %d\n\n", bfSize);
>> // return to start of file rewind(fp);
>> // read in BITMAPFILEHEADER's raw bytes
>> uint8_t *buffer = malloc(14);
>> fread(buffer, 1, 14, fp);
>> // print field via cast
>>  printf("bfSize: %d\n\n", *((uint32_t *) (buffer + 2)));
>> // print individual bytes in decimal
>> printf("bfSize: %d %d %d %d\n",buffer[2], buffer[3], buffer[4],
>> buffer[5]);
>> // print individual bytes in hexadecimal
>>  printf("bfSize: 0x%x 0x%x 0x%x 0x%x\n",buffer[2], buffer[3],
>> buffer[4], buffer[5]);
>> // print individual bytes in binary
>>  printf("bfSize: "); for (int i = 2; i < 6; i++) {
>>
>> for (int j = 7; j >= 0; j--) {
>> int mask = 1 << j;
>> if (buffer[i] & mask)
>> else
>> printf("1");
>> printf("0");
>> }
>> printf("\n\n");
>> }
>>
>>
>>
>>
>> i did it for large.bmp   and it gace me output ::::
>>
>>
>>
>> bfSize: 486
>>
>> bfSize: 486
>>
>> bfSize:   230   1   0   0
>> bfSize: 0xe6 0x1 0x0 0x0
>> bfSize: 11100110000000010000000000000000
>>
>>
>>
>>
>>
>> but my QUESTION is   i did in terminal:
>>
>> xxd -c 24 -g 3  large.bmp
>>
>>
>> and it gave me  ::
>>
>> 0000000: 424de6 010000 000000 003600 000028 000000 0c0000 00f4ff
>>
>>
>>
>> HERE THE BFSIZE A/C TO ME IS  e6    and it's dec. value is   230
>> then why in 1st line it is giving output  486  .
>>
>> --
>>
>> You received this message because you are subscribed to the Google Groups
>> "google-codejam" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to
>> [email protected].
>> For more options, visit this group at
>> http://groups.google.com/group/google-code?hl=en.
>>
>>
>  --
> You received this message because you are subscribed to the Google Groups
> "google-codejam" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/google-code?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"google-codejam" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-code?hl=en.

Reply via email to