C预处理器,从字符串中剥离parens

时间:2016-11-21 18:12:26

标签: c-preprocessor

我正在使用一些C预处理器宏,由于其他地方的变化,它们现在显示为((" Foo"))而不是" Foo"。问题是,在代码的其他地方,这是破坏连接。

E.G。

#include "some_external_FOO_and_FILE_PATH_declarations.h" 
//FOO is (("Foo"))
const char* filepath = FILE_PATH(FOO "/bar")
//throws error 

我怎样才能让FOO看起来像" Foo"再次?

1 个答案:

答案 0 :(得分:0)

这最终为我工作:

#define UNPAREN(...) #__VA_ARGS__
const char *filepath = FILEPATH(UNPAREN(FOO) "bar")