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;i cout您的代码将无法按预期执行
您正在告诉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('"');
}
为什么不试试呢?提醒:使用'
表示单个字符。使用““
用于多个字符。此外,您不能将多个字符分配给单个字符槽。您可以搜索您喜爱的引用部分,查看是否有任何方法可以帮助您将字符插入字符串。请尝试将结果写入新字符串;可能更容易。