【问题标题】:C++ macro concatenate with / slash [duplicate]C ++宏与/斜杠连接[重复]
【发布时间】:2014-06-19 03:42:55
【问题描述】:

如何编写宏来执行以下操作 资源路径(图像,菜单.png) 并获取字符串“image/menu.png”

更高级的问题:我想编写一个宏来执行上述操作,但根据条件 def(#ifdef IOS,#elif ANDROID #endif)输出不同的字符串,所以如果它在 iOS 输出到“图像/菜单” .png”,如果它在 android 上自动输出到“assets/image/menu.png”(自动将“assets/”附加到前面),都在一个宏中。

我希望我已经清楚地解释了我的问题,谢谢大家

【问题讨论】:

  • 不,不是那个重复的,那个问题不涉及任何字符串化。

标签: c++ string macros slash


【解决方案1】:
#ifdef IOS
#  define RESOURCEPATH(DIR, FILE) #DIR "/" #FILE
#else
#  define RESOURCEPATH(DIR, FILE) "assets/" #DIR "/" #FILE
#endif

思路是将两个参数字符串化,所以image变成"image",然后依靠C字符串文字的自动串联插入斜线。

【讨论】:

  • 谢谢!问题解决了!
  • @jamesbond 如果它解决了您的问题,请接受此答案。
猜你喜欢
  • 1970-01-01
  • 2014-04-01
  • 2014-08-02
  • 1970-01-01
  • 2013-03-16
  • 1970-01-01
  • 1970-01-01
  • 2018-07-26
  • 1970-01-01
相关资源
最近更新 更多