c语言遍历文件内容_C/C++实战027:遍历enum枚举类型

什么是枚举

枚举是C语言中的一种基本数据类型,它可以用来声明一组常数(静态常量)。当一个变量有几个固定的可取值时就可以将其定义为枚举类型。枚举可以将变量值直接列出,使用时变量值只限于列举出的值范围内。很简单的例子就是日历中每周都有固定的7天,那么我们在定义星期的时候就可以用枚举。

bda261a8f40546e3bdab170f0ca62bfd.png

枚举定义

枚举通过关键词enum来定义枚举类型,在枚举中声明该枚举类型的变量并使用该变量存储枚举元素的数值。基础类型表示该枚举中定义的所有枚举数值,枚举可以声明 byte、sbyte、short、ushort、int、uint、long 或 ulong 等基础类型,如果没有声明基础类型则默认为int类型。枚举成员是该枚举类型的常量,所以枚举成员不能具有相同的变量名。如果枚举成员没有赋值则默认第一个枚举成员值为0,往后的枚举成员值会依次顺序加1。

728dd1d4822b12b649b9cf27b3b900e4.png

枚举定义系统信息

在获取华中数控设备的系统信息时发现该API函数可以获取到的系统信息相当的多,系统通过定义枚举来区分这些数据。我们要获取这些数据的时候就需要通过指定对应的枚举值来获取对应的信息。为了可以一次性获取系统信息我们需要遍历所有的枚举值,枚举类型的每个元素都是整数,而C++没有提供枚举类型的迭代器也不能在操作后直接赋新值给原对象(枚举没有操作符++),所以没法像数组那样直接遍历。

4b637709e4d9b0f64f2f9edc3214eb81.png

遍历枚举

那么我们要怎么才能实现枚举的遍历呢?这里我们需要用到强制类型转换,这样遍历在结束后就可以获取到下一个枚举成员了。遍历范围可以通过定义枚举成员变量来限制,这里最后一个枚举成员为HNC_SYS_TOTAL。这里主要是获取的值类型不同SDK提供了不同的API接口,下面将部分判断省略了:

605141249f1029bfd6ac48f855019068.png

总结

枚举类型(enumeration)是 C++ 中的一种派生数据类型,它是由用户定义的若干枚举成员的集合。枚举类型的作用域一般是整个文件或者类内,当在整个文件夹时所有枚举成员不能有相同的,当在类内时不同类的枚举成员可以有相同的。以上内容是小编给大家分享的【C/C++实战027:遍历enum枚举类型】,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值