c - 在C中获取十六进制形式的转义字符

标签 c hex

我有一个程序,它接受一个字符串,用空格将其分开,然后分析字符串的每一部分。

遇到转义符,比如单引号:\',我想打印出它的十六进制形式:0x27。

我试图查找如何执行此操作,但没有找到任何有用的信息。有没有办法访问转义字符的十六进制代码,或者我是否必须在打印语句中手动打印出十六进制代码?

最佳答案

如果你的字符串部分是一个字符,如你所说,你可以像这样打印它:

char = '\'';
printf("caracter: %x", c);

一个字符就是一个1字节的intprintf() 中的说明符以某种格式输出该 int,例如基于 ASCII 的字符("%c") 或作为普通数字 ("%d") 或作为其值的十六进制表示 ("%x" >).

关于c - 在C中获取十六进制形式的转义字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31115417/

相关文章:

java - 如何在java中增加十六进制但同时保留填充?

Java:将有符号的 Int_32(十六进制)转换为 Int

c++ - UInt8 和 uint8_t 有什么区别

C 子进程无法访问共享内存

Codevision 生成 `.ASM` 输出

java - 将十六进制字符串转换为 IP 地址

c - 以有序的方式在链表中间插入一个元素?

c - 链接器错误 undefined reference to `print'

c - GCC 参数类型错误?

c - C中的字符串格式化和解析