附加双引号时反斜杠到达字符串的结尾

时间:2017-06-19 07:54:46

标签: c++ double-quotes

我正在完成一个c ++程序并且有一个我似乎找不到修复的最后一个问题。我有代码cpcmd += '"' + path + '"' + " " + '"' + dek + '"' 在找到类似于我的问题后,我尝试了以下内容。

cpcmd += "\"" + path + "\"" + " " + "\"" + dek + "\""
cpcmd += \" + path + \" + " " + \" + dek + \"

后者甚至没有编译。如果我可以避免使用双引号,我会,但我需要将命令传递给cmd。 为什么在我尝试的第一种方式中添加双引号会导致将额外的\添加到我追加的字符串的末尾?它会在双引号和附加到字符串末尾之间添加。

在回答评论时,cpcmd是一个字符串,这里的所有变量都是。

我知道我会被投票但我不明白为什么。如果我能够通过谷歌搜索找到这个问题的答案,我就不会问它了。

在回答要求完整示例的评论时,以下内容将产生我在调试器中讨论的内容。

#include <iostream>
#include <string>
int main()
{
    std::string test = "this is a string";
    test += '"';
    std::cout << test;
}

更新:我很抱歉我在调试器时遇到了很多问题,以至于我认为在局部变量的值中显示的内容是传递的内容。再次,我很抱歉,请不要再这样做了。我已经投票决定将其删除。

0 个答案:

没有答案