相关疑难解决方法(0)

将字符串文字与char文字连接起来

我想连接一个字符串文字和char文字.语法错误,"abc" 'd' "efg"呈现编译器错误:

xc:4:24:错误:预期','或';' 在'd'之前

到现在为止,我必须使用snprift(不必要),尽管字符串文字的值和编译时知道的char文字.

我试过了

#define CONCAT(S,C) ({ \
    static const char *_r = { (S), (C) }; \
    _r; \
})
Run Code Online (Sandbox Code Playgroud)

但它不起作用,因为S没有剥离null终止符.(除了给出编译器警告.)

有没有办法编写一个宏来使用

  • "abc" MACRO('d') "efg" 要么
  • MACRO1(MACRO2("abc", 'd'), "efg") 要么
  • MACRO("abc", 'd', "efg")

如果有人问我为什么要这样:char文字来自一个库,我需要将字符串作为状态消息打印出来.

c string macros concatenation char

10
推荐指数
2
解决办法
7717
查看次数

标签 统计

c ×1

char ×1

concatenation ×1

macros ×1

string ×1