Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

Checksum Calculation

Lakshmi1984Lakshmi1984 Posts: 19Member
Hi,

I have written a routine for checksum calculation (XOR). In this I will be reading a binary file. But when I try to read a binary file , i see that only special characters get printed at the output. How do I proceed with it. Please Help me in resolving the issue...

Do suggest me if there are any kind of Examples available for checksum calculation.

Best Regards,
XYZ
«1

Comments

  • stephlstephl Posts: 422Member
    : Hi,
    :
    : I have written a routine for checksum calculation (XOR). In this I will be reading a binary file. But when I try to read a binary file , i see that only special characters get printed at the output. How do I proceed with it. Please Help me in resolving the issue...
    :
    : Do suggest me if there are any kind of Examples available for checksum calculation.
    :
    : Best Regards,
    : XYZ
    :
    What do you want to print? The bytes in the file?

    Steph
  • Lakshmi1984Lakshmi1984 Posts: 19Member
    : : Hi,
    : :
    : : I have written a routine for checksum calculation (XOR). In this I will be reading a binary file. But when I try to read a binary file , i see that only special characters get printed at the output. How do I proceed with it. Please Help me in resolving the issue...
    : :
    : : Do suggest me if there are any kind of Examples available for checksum calculation.
    : :
    : : Best Regards,
    : : XYZ
    : :
    : What do you want to print? The bytes in the file?
    :
    : Steph
    :
    Hi Steph,

    Thank you very much for the quick response. Yes I want to print the bytes in a file, & also XOR each byte & print the final checksum value.
    But i can only find special characters getting printed & some junk checksum values.


  • LundinLundin Posts: 3,711Member
    : : : Hi,
    : : :
    : : : I have written a routine for checksum calculation (XOR). In this I will be reading a binary file. But when I try to read a binary file , i see that only special characters get printed at the output. How do I proceed with it. Please Help me in resolving the issue...
    : : :
    : : : Do suggest me if there are any kind of Examples available for checksum calculation.
    : : :
    : : : Best Regards,
    : : : XYZ
    : : :
    : : What do you want to print? The bytes in the file?
    : :
    : : Steph
    : :
    : Hi Steph,
    :
    : Thank you very much for the quick response. Yes I want to print the bytes in a file, & also XOR each byte & print the final checksum value.
    : But i can only find special characters getting printed & some junk checksum values.
    :
    :
    :


    It seems like the bug is in the display routine and not in the checksum.
    Please post the code.
  • Lakshmi1984Lakshmi1984 Posts: 19Member
    : : : : Hi,
    : : : :
    : : : : I have written a routine for checksum calculation (XOR). In this I will be reading a binary file. But when I try to read a binary file , i see that only special characters get printed at the output. How do I proceed with it. Please Help me in resolving the issue...
    : : : :
    : : : : Do suggest me if there are any kind of Examples available for checksum calculation.
    : : : :
    : : : : Best Regards,
    : : : : XYZ
    : : : :
    : : : What do you want to print? The bytes in the file?
    : : :
    : : : Steph
    : : :
    : : Hi Steph,
    : :
    : : Thank you very much for the quick response. Yes I want to print the bytes in a file, & also XOR each byte & print the final checksum value.
    : : But i can only find special characters getting printed & some junk checksum values.
    : :
    : :
    : :
    :
    :
    : It seems like the bug is in the display routine and not in the checksum.
    : Please post the code.
    :


    Hi Steph... here is the code....

    [code]

    #include

    #include

    int main(void)

    {

    FILE *fp;

    char buf[6];

    /* Open an existing binary file for reading. */

    if (( fp = fopen ( "C:\iCube3.3.iic", "rb" ) ) == NULL )

    {

    printf ( "Cannot open file
    " );

    exit ( 1 );

    }

    /* Read characters from the file to the buffer. */



    fread ( buf, 1, sizeof(buf), fp );

    printf ( "%s
    ", buf );



    fclose ( fp );

    return 0;

    }
  • LundinLundin Posts: 3,711Member
    : : : : : Hi,
    : : : : :
    : : : : : I have written a routine for checksum calculation (XOR). In this I will be reading a binary file. But when I try to read a binary file , i see that only special characters get printed at the output. How do I proceed with it. Please Help me in resolving the issue...
    : : : : :
    : : : : : Do suggest me if there are any kind of Examples available for checksum calculation.
    : : : : :
    : : : : : Best Regards,
    : : : : : XYZ
    : : : : :
    : : : : What do you want to print? The bytes in the file?
    : : : :
    : : : : Steph
    : : : :
    : : : Hi Steph,
    : : :
    : : : Thank you very much for the quick response. Yes I want to print the bytes in a file, & also XOR each byte & print the final checksum value.
    : : : But i can only find special characters getting printed & some junk checksum values.
    : : :
    : : :
    : : :
    : :
    : :
    : : It seems like the bug is in the display routine and not in the checksum.
    : : Please post the code.
    : :
    :
    :
    : Hi Steph... here is the code....
    :
    : [code]
    :
    : #include
    :
    : #include
    :
    : int main(void)
    :
    : {
    :
    : FILE *fp;
    :
    : char buf[6];
    :
    : /* Open an existing binary file for reading. */
    :
    : if (( fp = fopen ( "C:\iCube3.3.iic", "rb" ) ) == NULL )
    :
    : {
    :
    : printf ( "Cannot open file
    " );
    :
    : exit ( 1 );
    :
    : }
    :
    : /* Read characters from the file to the buffer. */
    :
    :
    :
    : fread ( buf, 1, sizeof(buf), fp );
    :
    : printf ( "%s
    ", buf );
    :
    :
    :
    : fclose ( fp );
    :
    : return 0;
    :
    : }
    :


    Yep, as I suspected you are using the wrong print algo. You can't print binary data as text, it won't make sense.

    To view binary data as hex, you need to do like this:

    [code]
    int i;

    ...
    for(i=0; i<sizeof(buf); i++)
    {
    if(buf[i] < 0x10)
    printf("0%X ", (unsigned char)buf[i]);
    else
    printf("%X ", (unsigned char)buf[i]);
    }
    [/code]
  • Lakshmi1984Lakshmi1984 Posts: 19Member
    : : : : : : Hi,
    : : : : : :
    : : : : : : I have written a routine for checksum calculation (XOR). In this I will be reading a binary file. But when I try to read a binary file , i see that only special characters get printed at the output. How do I proceed with it. Please Help me in resolving the issue...
    : : : : : :
    : : : : : : Do suggest me if there are any kind of Examples available for checksum calculation.
    : : : : : :
    : : : : : : Best Regards,
    : : : : : : XYZ
    : : : : : :
    : : : : : What do you want to print? The bytes in the file?
    : : : : :
    : : : : : Steph
    : : : : :
    : : : : Hi Steph,
    : : : :
    : : : : Thank you very much for the quick response. Yes I want to print the bytes in a file, & also XOR each byte & print the final checksum value.
    : : : : But i can only find special characters getting printed & some junk checksum values.
    : : : :
    : : : :
    : : : :
    : : :
    : : :
    : : : It seems like the bug is in the display routine and not in the checksum.
    : : : Please post the code.
    : : :
    : :
    : :
    : : Hi Steph... here is the code....
    : :
    : : [code]
    : :
    : : #include
    : :
    : : #include
    : :
    : : int main(void)
    : :
    : : {
    : :
    : : FILE *fp;
    : :
    : : char buf[6];
    : :
    : : /* Open an existing binary file for reading. */
    : :
    : : if (( fp = fopen ( "C:\iCube3.3.iic", "rb" ) ) == NULL )
    : :
    : : {
    : :
    : : printf ( "Cannot open file
    " );
    : :
    : : exit ( 1 );
    : :
    : : }
    : :
    : : /* Read characters from the file to the buffer. */
    : :
    : :
    : :
    : : fread ( buf, 1, sizeof(buf), fp );
    : :
    : : printf ( "%s
    ", buf );
    : :
    : :
    : :
    : : fclose ( fp );
    : :
    : : return 0;
    : :
    : : }
    : :
    :
    :
    : Yep, as I suspected you are using the wrong print algo. You can't print binary data as text, it won't make sense.
    :
    : To view binary data as hex, you need to do like this:
    :
    : [code]
    : int i;
    :
    : ...
    : for(i=0; i<sizeof(buf); i++)
    : {
    : if(buf[i] < 0x10)
    : printf("0%X ", (unsigned char)buf[i]);
    : else
    : printf("%X ", (unsigned char)buf[i]);
    : }
    : [/code]
    :


    Hi Steph,

    Thank you. Now m able to read the file... i will proceed with the checksum part & post a que if i have any issues.....

    Thanks once again.........
  • stephlstephl Posts: 422Member
    : : : : : : : Hi,
    : : : : : : :
    : : : : : : : I have written a routine for checksum calculation (XOR). In this I will be reading a binary file. But when I try to read a binary file , i see that only special characters get printed at the output. How do I proceed with it. Please Help me in resolving the issue...
    : : : : : : :
    : : : : : : : Do suggest me if there are any kind of Examples available for checksum calculation.
    : : : : : : :
    : : : : : : : Best Regards,
    : : : : : : : XYZ
    : : : : : : :
    : : : : : : What do you want to print? The bytes in the file?
    : : : : : :
    : : : : : : Steph
    : : : : : :
    : : : : : Hi Steph,
    : : : : :
    : : : : : Thank you very much for the quick response. Yes I want to print the bytes in a file, & also XOR each byte & print the final checksum value.
    : : : : : But i can only find special characters getting printed & some junk checksum values.
    : : : : :
    : : : : :
    : : : : :
    : : : :
    : : : :
    : : : : It seems like the bug is in the display routine and not in the checksum.
    : : : : Please post the code.
    : : : :
    : : :
    : : :
    : : : Hi Steph... here is the code....
    : : :
    : : : [code]
    : : :
    : : : #include
    : : :
    : : : #include
    : : :
    : : : int main(void)
    : : :
    : : : {
    : : :
    : : : FILE *fp;
    : : :
    : : : char buf[6];
    : : :
    : : : /* Open an existing binary file for reading. */
    : : :
    : : : if (( fp = fopen ( "C:\iCube3.3.iic", "rb" ) ) == NULL )
    : : :
    : : : {
    : : :
    : : : printf ( "Cannot open file
    " );
    : : :
    : : : exit ( 1 );
    : : :
    : : : }
    : : :
    : : : /* Read characters from the file to the buffer. */
    : : :
    : : :
    : : :
    : : : fread ( buf, 1, sizeof(buf), fp );
    : : :
    : : : printf ( "%s
    ", buf );
    : : :
    : : :
    : : :
    : : : fclose ( fp );
    : : :
    : : : return 0;
    : : :
    : : : }
    : : :
    : :
    : :
    : : Yep, as I suspected you are using the wrong print algo. You can't print binary data as text, it won't make sense.
    : :
    : : To view binary data as hex, you need to do like this:
    : :
    : : [code]
    : : int i;
    : :
    : : ...
    : : for(i=0; i<sizeof(buf); i++)
    : : {
    : : if(buf[i] < 0x10)
    : : printf("0%X ", (unsigned char)buf[i]);
    : : else
    : : printf("%X ", (unsigned char)buf[i]);
    : : }
    : : [/code]
    : :
    : [/code]
    :
    : Hi Steph,
    :
    : Thank you. Now m able to read the file... i will proceed with the checksum part & post a que if i have any issues.....
    :
    : Thanks once again.........
    :
    I would just like to add that this is Lundin who gave you the solution.;-) I only posted the first message asking you for more information. After that I had a four hour class so I wasn't able to read your answer. But Lundin was. So you should thank Lundin, not me.

    Steph
  • stephlstephl Posts: 422Member
    : : : : : : Hi,
    : : : : : :
    : : : : : : I have written a routine for checksum calculation (XOR). In this I will be reading a binary file. But when I try to read a binary file , i see that only special characters get printed at the output. How do I proceed with it. Please Help me in resolving the issue...
    : : : : : :
    : : : : : : Do suggest me if there are any kind of Examples available for checksum calculation.
    : : : : : :
    : : : : : : Best Regards,
    : : : : : : XYZ
    : : : : : :
    : : : : : What do you want to print? The bytes in the file?
    : : : : :
    : : : : : Steph
    : : : : :
    : : : : Hi Steph,
    : : : :
    : : : : Thank you very much for the quick response. Yes I want to print the bytes in a file, & also XOR each byte & print the final checksum value.
    : : : : But i can only find special characters getting printed & some junk checksum values.
    : : : :
    : : : :
    : : : :
    : : :
    : : :
    : : : It seems like the bug is in the display routine and not in the checksum.
    : : : Please post the code.
    : : :
    : :
    : :
    : : Hi Steph... here is the code....
    : :
    : : [code]
    : :
    : : #include
    : :
    : : #include
    : :
    : : int main(void)
    : :
    : : {
    : :
    : : FILE *fp;
    : :
    : : char buf[6];
    : :
    : : /* Open an existing binary file for reading. */
    : :
    : : if (( fp = fopen ( "C:\iCube3.3.iic", "rb" ) ) == NULL )
    : :
    : : {
    : :
    : : printf ( "Cannot open file
    " );
    : :
    : : exit ( 1 );
    : :
    : : }
    : :
    : : /* Read characters from the file to the buffer. */
    : :
    : :
    : :
    : : fread ( buf, 1, sizeof(buf), fp );
    : :
    : : printf ( "%s
    ", buf );
    : :
    : :
    : :
    : : fclose ( fp );
    : :
    : : return 0;
    : :
    : : }
    : :
    :
    :
    : Yep, as I suspected you are using the wrong print algo. You can't print binary data as text, it won't make sense.
    :
    : To view binary data as hex, you need to do like this:
    :
    : [code]
    : int i;
    :
    : ...
    : for(i=0; i<sizeof(buf); i++)
    : {
    : if(buf[i] < 0x10)
    : printf("0%X ", (unsigned char)buf[i]);
    : else
    : printf("%X ", (unsigned char)buf[i]);
    : }
    : [/code][/code]
    :
    It's a remark of less importance, but I think the above test could be replaced by:
    [code]
    for (i=0;i<sizeof buf;++i)
    printf("%02X ",(unsigned char) buf[i]);
    [/code]

    Steph
  • Lakshmi1984Lakshmi1984 Posts: 19Member
    : : : : : : : : Hi,
    : : : : : : : :
    : : : : : : : : I have written a routine for checksum calculation (XOR). In this I will be reading a binary file. But when I try to read a binary file , i see that only special characters get printed at the output. How do I proceed with it. Please Help me in resolving the issue...
    : : : : : : : :
    : : : : : : : : Do suggest me if there are any kind of Examples available for checksum calculation.
    : : : : : : : :
    : : : : : : : : Best Regards,
    : : : : : : : : XYZ
    : : : : : : : :
    : : : : : : : What do you want to print? The bytes in the file?
    : : : : : : :
    : : : : : : : Steph
    : : : : : : :
    : : : : : : Hi Steph,
    : : : : : :
    : : : : : : Thank you very much for the quick response. Yes I want to print the bytes in a file, & also XOR each byte & print the final checksum value.
    : : : : : : But i can only find special characters getting printed & some junk checksum values.
    : : : : : :
    : : : : : :
    : : : : : :
    : : : : :
    : : : : :
    : : : : : It seems like the bug is in the display routine and not in the checksum.
    : : : : : Please post the code.
    : : : : :
    : : : :
    : : : :
    : : : : Hi Steph... here is the code....
    : : : :
    : : : : [code]
    : : : :
    : : : : #include
    : : : :
    : : : : #include
    : : : :
    : : : : int main(void)
    : : : :
    : : : : {
    : : : :
    : : : : FILE *fp;
    : : : :
    : : : : char buf[6];
    : : : :
    : : : : /* Open an existing binary file for reading. */
    : : : :
    : : : : if (( fp = fopen ( "C:\iCube3.3.iic", "rb" ) ) == NULL )
    : : : :
    : : : : {
    : : : :
    : : : : printf ( "Cannot open file
    " );
    : : : :
    : : : : exit ( 1 );
    : : : :
    : : : : }
    : : : :
    : : : : /* Read characters from the file to the buffer. */
    : : : :
    : : : :
    : : : :
    : : : : fread ( buf, 1, sizeof(buf), fp );
    : : : :
    : : : : printf ( "%s
    ", buf );
    : : : :
    : : : :
    : : : :
    : : : : fclose ( fp );
    : : : :
    : : : : return 0;
    : : : :
    : : : : }
    : : : :
    : : :
    : : :
    : : : Yep, as I suspected you are using the wrong print algo. You can't print binary data as text, it won't make sense.
    : : :
    : : : To view binary data as hex, you need to do like this:
    : : :
    : : : [code]
    : : : int i;
    : : :
    : : : ...
    : : : for(i=0; i<sizeof(buf); i++)
    : : : {
    : : : if(buf[i] < 0x10)
    : : : printf("0%X ", (unsigned char)buf[i]);
    : : : else
    : : : printf("%X ", (unsigned char)buf[i]);
    : : : }
    : : : [/code]
    : : :
    : : [/code]
    : :
    : : Hi Steph,
    : :
    : : Thank you. Now m able to read the file... i will proceed with the checksum part & post a que if i have any issues.....
    : :
    : : Thanks once again.........
    : :
    : I would just like to add that this is Lundin who gave you the solution.;-) I only posted the first message asking you for more information. After that I had a four hour class so I wasn't able to read your answer. But Lundin was. So you should thank Lundin, not me.
    :
    : Steph
    :


    Thank U Lundin.... :-)
  • Lakshmi1984Lakshmi1984 Posts: 19Member
    : : : : : : : Hi,
    : : : : : : :
    : : : : : : : I have written a routine for checksum calculation (XOR). In this I will be reading a binary file. But when I try to read a binary file , i see that only special characters get printed at the output. How do I proceed with it. Please Help me in resolving the issue...
    : : : : : : :
    : : : : : : : Do suggest me if there are any kind of Examples available for checksum calculation.
    : : : : : : :
    : : : : : : : Best Regards,
    : : : : : : : XYZ
    : : : : : : :
    : : : : : : What do you want to print? The bytes in the file?
    : : : : : :
    : : : : : : Steph
    : : : : : :
    : : : : : Hi Steph,
    : : : : :
    : : : : : Thank you very much for the quick response. Yes I want to print the bytes in a file, & also XOR each byte & print the final checksum value.
    : : : : : But i can only find special characters getting printed & some junk checksum values.
    : : : : :
    : : : : :
    : : : : :
    : : : :
    : : : :
    : : : : It seems like the bug is in the display routine and not in the checksum.
    : : : : Please post the code.
    : : : :
    : : :
    : : :
    : : : Hi Steph... here is the code....
    : : :
    : : : [code]
    : : :
    : : : #include
    : : :
    : : : #include
    : : :
    : : : int main(void)
    : : :
    : : : {
    : : :
    : : : FILE *fp;
    : : :
    : : : char buf[6];
    : : :
    : : : /* Open an existing binary file for reading. */
    : : :
    : : : if (( fp = fopen ( "C:\iCube3.3.iic", "rb" ) ) == NULL )
    : : :
    : : : {
    : : :
    : : : printf ( "Cannot open file
    " );
    : : :
    : : : exit ( 1 );
    : : :
    : : : }
    : : :
    : : : /* Read characters from the file to the buffer. */
    : : :
    : : :
    : : :
    : : : fread ( buf, 1, sizeof(buf), fp );
    : : :
    : : : printf ( "%s
    ", buf );
    : : :
    : : :
    : : :
    : : : fclose ( fp );
    : : :
    : : : return 0;
    : : :
    : : : }
    : : :
    : :
    : :
    : : Yep, as I suspected you are using the wrong print algo. You can't print binary data as text, it won't make sense.
    : :
    : : To view binary data as hex, you need to do like this:
    : :
    : : [code]
    : : int i;
    : :
    : : ...
    : : for(i=0; i<sizeof(buf); i++)
    : : {
    : : if(buf[i] < 0x10)
    : : printf("0%X ", (unsigned char)buf[i]);
    : : else
    : : printf("%X ", (unsigned char)buf[i]);
    : : }
    : : [/code][/code]
    : :
    : It's a remark of less importance, but I think the above test could be replaced by:
    : [code]
    : for (i=0;i<sizeof buf;++i)
    : printf("%02X ",(unsigned char) buf[i]);
    : [/code]
    :
    : Steph
    :


    Hi Steph.......

    Well here is another problem...... can v not print the binary file in 1's & 0's format ????????? i tried it out, but its not printing in 1's & 0's format....
«1
Sign In or Register to comment.