加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 可以将两个用空格分隔的字符串传递给函数吗?需要解释

发布时间:2020-12-16 10:01:20 所属栏目:百科 来源:网络整理
导读:我在阅读PX4代码时看到了一个电话, open(ACCEL_BASE_DEVICE_PATH "0",O_RDONLY) 其中,#define ACCEL_BASE_DEVICE_PATH“/ dev / accel” 所以,打开(“/ dev / accel”“0”,O_RDONLY) 这有可能吗? “/ dev / accel”“0” 我期待可能有预处理宏 ……但那很
我在阅读PX4代码时看到了一个电话,

open(ACCEL_BASE_DEVICE_PATH "0",O_RDONLY)

其中,#define ACCEL_BASE_DEVICE_PATH“/ dev / accel”

所以,打开(“/ dev / accel”“0”,O_RDONLY)

这有可能吗? “/ dev / accel”“0”

我期待可能有预处理宏
……但那很难找到..

解决方法

连续字符串文字由预处理器连接.
这是合法的.

“/ dev / accel”“0”产生“/ dev / accel0”.

请注意,空格在这里是无关紧要的(但更具可读性),它与“/ dev / accel”“0”相同.

另请注意,在c 11中,由于用户定义的文字(UDL),有时可能需要空间

#define ZERO "0"
"/dev/accel"ZERO // Here space is require since C++11. else there is an other meaning.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读