C++ C+中的双引号字符串+;

C++ C+中的双引号字符串+;,c++,C++,如何在双引号字符串中转换带空格的字符串。 例如: 我有绳子 c:\program files\abc.bat 我想将此字符串转换为“c:\program files\abc.bat”,但前提是字符串中有空格。搜索空格。如果找到,在字符串的前面和结尾添加\。这将是一个转义引号。假设STL字符串s包含要检查空格的字符串: std::string str = get_your_input_somehow(); if (str.find(" ") != std::string::npos) {

如何在双引号字符串中转换带空格的字符串。 例如: 我有绳子

c:\program files\abc.bat

我想将此字符串转换为“
c:\program files\abc.bat
”,但前提是字符串中有空格。

搜索空格。如果找到,在字符串的前面和结尾添加\。这将是一个转义引号。

假设STL字符串
s
包含要检查空格的字符串:

std::string str = get_your_input_somehow();

if (str.find(" ") != std::string::npos) {
  str = "\"" + str + "\"";
}
if (s.find(' ') != std::string::npos)
{
  s = '"' + s + '"';
}

它是
std::string
还是
const char*
?如果字符串中已经有双引号,您需要做什么?这是否取决于字符串中是否有空格?不应该是
str.find(“”)!=std::string::npos)
?如果开头有空格,则返回0。@Manuel--哎呀--太晚了--你说得太对了!(现在编辑)在将字符串包含在“搜索现有字符串”中之前,使用
而不是
”是否更有效“并在它们前面加上\。这将处理带有“inside”的字符串。