如何解决任何人都可以解释如何在#define 中实现“->”
我正在使用这条线作为#define 进行参考设计
#define MEDIA_EXT_STATE "\"adv7611 12-004c\":1 -> \"40080000.tpg\":0[%d]"
sprintf 函数使用它,然后将其传递给 media_parse_setup_links()
函数。
sprintf(media_formats,MEDIA_EXT_STATE,1);
ret = media_parse_setup_links(media,media_formats);
解决方法
宏将MEDIA_EXT_STATE
定义为字符串字面量,类似于
#define FOOBAR "foo -> bar"
将 FOOBAR
定义为字符串文字 "foo -> bar"
。也许您对转义的 "
感到困惑,但这就像普通字符串文字一样:
std::cout << "\"123";
打印 "123
。
要了解字符串中 ->
的含义,您必须查看 media_parse_setup_links
的实现或阅读文档。
它简单地翻译为:
sprintf(media_formats,"\"adv7611 12-004c\":1 -> \"40080000.tpg\":0[%d]",1);
没有指针操作,因为它只是字符串的一部分。
去掉引号后就更明显了:
sprintf(media_formats,"'adv7611 12-004c':1 -> '40080000.tpg':0[%d]",1);
,
谁能解释一下“->”是如何实现的
这只是文本。它的“实现”方式与此相同:
std::string example = "->";
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。