标签: c hex
我有一个程序,它接受一个字符串,用空格分解它,然后分析字符串的每个部分。
当我遇到一个转义字符,例如单引号:\'时,我想打印出它的十六进制格式:0x27。
我试图查找如何做到这一点,但没有找到任何有用的东西。有没有办法访问转义字符的十六进制代码,还是我必须在打印语句中手动打印出十六进制代码?
答案 0 :(得分:3)
如果您的部分字符串是字符,正如您所说,您可以将其打印出来:
char = '\''; printf("caracter: %x", c);
字符只是1个字节的int。 printf()中的说明符以特定格式输出int,例如基于ASCII("%c")或正常数字("%d")或十六进制表示的字符它的价值("%x")。
int
"%c"
"%d"
"%x"