通过define从纯文本中获取字符串

时间:2016-02-04 04:22:46

标签: c++ string macros

所以对于一项任务我试图做这样的事情:

#define GET_STR 
#define OK

并像这样使用它:

GET_STR sample_string OK

它应该为字符串分配-sample_string- value; 试图用枚举类型定义GET_STR,或者只使用'#'但似乎不起作用。如果定义类型为GET_STR(str),我可以使用#str然后分配给字符串。有任何想法吗?

2 个答案:

答案 0 :(得分:1)

这个怎么样?

#define GET_STR std::string s(
#define OK ); 

std::string sample_string = "hello";
GET_STR sample_string OK

GET_STR "sample_stringggg" OK 

答案 1 :(得分:1)

这似乎有效:

#include <stdio.h>

#define STRINGIFY2(x) #x
#define STRINGIFY(x) STRINGIFY2(x)
#define GET_STR STRINGIFY(
#define OK )

int main()
{
    printf(GET_STR hello world OK);
    printf("\n");
    return 0;
}