c++ - 如何在 C++ 中将文字字符串和 MACRO 连接到有效字符串

标签 c++ string qt macros

我有:

QString ver ="";
QString ver += "-svn-"SVN_REVISION

这会产生一个错误,指向 ver:

error: missing terminating " character
    ver += "-svn-"SVN_REVISION;

SVN_REVISION 定义为 1。

如何将它们连接成一个有效的字符串?

最佳答案

您可以使用评论中提到的预处理器的字符串化支持。这是一个例子:

#define BASIC_STR(x) #x
#define STR(x) BASIC_STR(x)

QString ver ="";
QString ver += "-svn-" STR(SVN_VERSION);

关于c++ - 如何在 C++ 中将文字字符串和 MACRO 连接到有效字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24474598/

相关文章:

c++ - 为什么不能在qt中解析这个json?

c - 如何正确传递这个c字符串数组

string - 如何在 bash 中找到两个字符串之间的公共(public)字符?

c++ - 如何在 C++/QT 中创建带有 TCP 服务器套接字的 Http 服务器

c++ - QT 5.7 - 找不到 google/protobuf 文件 - 包含 PATH 错误

python - 从 html %20 中转义

c++ - 当你完美转发时,typename T 变成 T& 或 T&&,但当你不这样做时,T 根本不是引用。如何?

php - 使用 SWIG 创建 PHP C/C++ 扩展模块

c++ - VBO 的 std::vector 偏移量计算?

C++:大型多维 vector 导致段错误