CPP如何转义引号

问题描述 投票:0回答:1

我正在使1991年的代码可以在Ubuntu 19上使用。

我有这个文件,我需要通过CPP运行,在这里我必须使用-traditional选项。

#define ITEM_WEAPON 5
#define ITEM_FIREWEAPON 6
Trade types = "+ITEM_WEAPON+ITEM_FIREWEAPON+"

我希望线成为]

Trade types = "+5+6+"

这在1991-1997年工作得很好;-)出于明显原因,似乎cpp不再在引号之间进行解析。

我已经尝试使用反斜杠字符对引号进行转义,例如

Trade types = \""+ITEM_WEAPON+ITEM_FIREWEAPON+\""

但是仍然没有找到一个好的解决方案。

我正在使1991年的代码在Ubuntu 19上可以使用。我已经有了需要通过CPP运行的文件,在该文件中,我不得不使用-traditional选项。 #define ITEM_WEAPON 5 #define ...

c++ c-preprocessor quotes
1个回答
1
投票
#include <iostream>
#include <string>

#define ITEM_WEAPON 5
#define ITEM_FIREWEAPON 6

#define STRINGIFY_HELPER(x) #x
#define STRINGIFY(x) STRINGIFY_HELPER(x)


int main()
{
    std::string types = "+" STRINGIFY(ITEM_WEAPON) "+" STRINGIFY(ITEM_FIREWEAPON) "+";
    std::cout << types << '\n';
    return 0;
}
© www.soinside.com 2019 - 2024. All rights reserved.