C++ (C+;+;)如何搜索字符串并用2个双引号替换每个双引号?

C++ (C+;+;)如何搜索字符串并用2个双引号替换每个双引号?,c++,string,C++,String,像这样的东西行吗?我看过一些指南,它们似乎不适合用两个或更多的字符替换一个字符 for (int i = 0; i < s.length(); i++){ if(s[i] == '\"') s[i] = '\"\"'; } cout << s; for(int i=0;i

像这样的东西行吗?我看过一些指南,它们似乎不适合用两个或更多的字符替换一个字符

  for (int i = 0; i < s.length(); i++){
       if(s[i] == '\"')
           s[i] = '\"\"';
  }
  cout << s;
for(int i=0;icout您的代码将无法按预期执行

您正在告诉
std::string
将一个2个字符的常量
'\“\''
分配到一个包含单个字符的插槽中

查找您最喜欢的C++引用,以找到将字符串或多个字符插入字符串的方法。

编辑1-示例

std::string::size_type position = 0;
position = s.find('"');
while (position != std::string::npos)
{
  s.insert(position, "\"");
  position += 2;
  position = s.find('"');
}

为什么不试试呢?提醒:使用
'
表示单个字符。使用
““
用于多个字符。此外,您不能将多个字符分配给单个字符槽。您可以搜索您喜爱的引用部分,查看是否有任何方法可以帮助您将字符插入字符串。请尝试将结果写入新字符串;可能更容易。