定义咯一个枚举变量枚举变量怎么打印出来 linux c,以C语言的字符串形式输出枚举变量...

这篇博客介绍了如何在C语言中以字符串形式打印枚举变量,包括使用宏和枚举常量的方法,展示了如何通过修改宏来控制输出的字符串部分。
摘要由CSDN通过智能技术生成

df6b63791e6f5db484412bb29b2cdf05.png

2014年11月13日15: 17: 20 haifeilang阅读次数: 6295

每个枚举常量都对应一个整数. 很多时候它可以像整数一样使用. 每个人都知道这一点;但是,如果要打印枚举变量名称的字符串,则有很多方法. 查看方法几乎需要转换. 要么使用数组,以下是可以视为直接打印的新方法;

#将以字符串形式返回以下内容

如果要将#之后的内容用作宏,则需要使用两层宏扩展,并且该宏使用的宏中的每个字符都将用作返回字符串的一部分. 如

printf("10->%s\r\n", MY_DEFINE2(MY_STRING2));

也就是说:

#define MY_DEFINE(R) #R

#define MY_DEFINE2(R) MY_DEFINE(R) #include

#define MY_INT 7777

#define MY_STRING "9999"

#define MY_STRING2 "9999\"8OK"000(888)

#define ENUM_CHIP_TYPE_CASE(x) case x: return(#x);

#define MY_DEFINE(R) #R

#define MY_DEFINE2(R) MY_DEFINE(R)

enum cvmx_chip_types_enum {

CVMX_CHIP_TYPE_NULL = ,

CVMX_CHIP_TYPE_DEPRECATED = ,

CVMX_CHIP_TYPE_OCTEON_SAMPLE = ,

CVMX_CHIP_TYPE_MAX

};

static inline const char *cvmx_chip_type_to_string(enum cvmx_chip_types_enum type)

{

switch (type)

{

ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_NULL)

ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_DEPRECATED)

ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_OCTEON_SAMPLE)

ENUM_CHIP_T

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值