在#define中使用引号

时间:2013-05-28 12:34:43

标签: c++ c-preprocessor

我想做这样的事情:

#define OF(k)                                     \
Open("##k##file");     

那意味着,

OF(1) 

必须等同于

Open("1file");

如何正确地做到这一点?

1 个答案:

答案 0 :(得分:6)

#define OF(k)                                     \
Open(#k "file");

使OF(foo)成为Open("foo" "file"),相当于Open("foofile")