【发布时间】:2013-11-26 06:40:01
【问题描述】:
我一直在尝试使用替换 std::string 但未能成功。
我有一个大字符串,我想在其中做一些替换。 我知道子字符串的开始和结束需要用新的替换。
static void replaceString(string &input, const string &startString, const string &endString, const string &replacement)
{
size_t indexStart, indexEnd;
indexStart = input.find(startString);
indexEnd = input.find(endString);
if (indexStart != xml.npos) {
input.replace(indexStart, indexEnd-indexStart, replacement);
}
}
最后输入保持不变。
我在这里做错了什么?
问候
【问题讨论】:
-
什么是 xml in line if(indexStrat != xml.npos) ?
-
你对函数有什么输入?如果找不到
endString怎么办? -
xml 是一个错字。这是输入。
-
@chingupt 您的输入、预期输出和观察到的输出是什么?
-
好吧,那么我建议在
if子句中打印出输入值,紧跟在replace之后,然后从那里返回。你没有向我们展示足够的帮助。例如,可能是您的调用者提供了 xml 字符串的副本,因此您仍然没有按照您期望的值进行操作,或者是其他几十个小错误中的任何一个。