Solved

How to printf("%02X",CBuf) to FF but not to FFFFFFFF

Posted on 1998-12-13
3
3,420 Views
Last Modified: 2008-02-26
char CBuf;

CBuf=0xFE;
 printf("%02X",CBuf);

I wish the result is FE, but it is FFFFFFFE.
Who can help me this? thanks!
0
Comment
Question by:wpy
3 Comments
 
LVL 84

Expert Comment

by:ozo
ID: 1255115
unsigned char CBuf;
0
 

Author Comment

by:wpy
ID: 1255116
thanks !! it work well!
0
 
LVL 10

Accepted Solution

by:
RONSLOW earned 10 total points
ID: 1255117
the problem is that the %x format is expecting an int.  You have put in a (signed) character with a negative value so the sign bit gets extended (ie. you end up with a negative int).

Either change CBuf to and unsigned char (as suggested) OR
cast it to unsigned char in the printf
eg.

print ("%02x",unsigned char(CBuf));

The best solution depends on what you subsequently want to do with CBuf.  If you are going to put in into a string, then you probably want to keep it a plain char (not make it unsigned) and just cast when you want to see the HEX value.

0

Featured Post

Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Summary: This tutorial covers some basics of pointer, pointer arithmetic and function pointer. What is a pointer: A pointer is a variable which holds an address. This address might be address of another variable/address of devices/address of fu…
Examines three attack vectors, specifically, the different types of malware used in malicious attacks, web application attacks, and finally, network based attacks.  Concludes by examining the means of securing and protecting critical systems and inf…
Video by: Grant
The goal of this video is to provide viewers with basic examples to understand and use nested-loops in the C programming language.
Video by: Grant
The goal of this video is to provide viewers with basic examples to understand and use while-loops in the C programming language.

776 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question