我需要在另一个内部插入一个“”

时间:2014-01-15 02:42:56

标签: c++ string bash

我正在尝试从c ++应用程序中使用bash命令;在bash命令中也有字符串,当我尝试编译时...编译器将该行视为彼此相邻的两个单独的字符串。 请查看以下代码:

const char* command = "echo -e "\e[31mHello World\e[0m""

如何插入echo读取的字符串-inside echo本身所在的字符串? 提前谢谢。

2 个答案:

答案 0 :(得分:8)

您正在寻找的术语是“逃避”。通过在其前面加"来逃避\

const char* command = "echo -e \"\e[31mHello World\e[0m\""

许多语言都使用此解决方案。在特殊字符前放置反斜杠以停用其特殊含义并将其解释为文本。这称为转义。

答案 1 :(得分:1)

我具体回答了你的问题,但我想对这个问题采用完全不同的方法:

您的原始标题就像是

  

我需要在另一个“”内插入一个“”“

谷歌搜索没有帮助。但添加“C ++”并将其更改为:

  

我需要在另一个引用C ++

中插入一个引号

给出了许多答案,例如

How to get double quotes into a string literal?

所以:你的问题解决首先应该包括尝试所有不同的方式来尽可能地说出标点符号。“引用”,“双引号”,“撇号”(错误但是谁在乎?)等等应该先行。然后尝试“字符串串”等等。这是此类问题的一般策略。