我有一个非常令人困惑的家庭作业,我不确定如何正确完成。该赋值要求完成一个 C++ 函数来解析一个字符串并将所有出现的子字符串 oldStr 与字符串 newStr 的实例交换。由于替换的结果,inputStr 可能需要更改大小...这意味着 oldStr 和 newStr 不必具有相同的大小。提供了一个函数头。我认为这是一个搜索和替换功能,但我不确定这是否是一个正确的假设。我还收到 inputStr 必须具有类类型的错误?.find 和 .replace 的左边必须有类/结构/联合?任何建议将不胜感激。
void parseSwap( char* inputStr, const char* oldStr, const char* newStr )
{
size_t oldStrLength = strlen(oldStr);
size_t newStrLength = strlen(newStr);
size_t position = 0;
while ((pos = inputStr.find(oldStr, position)) != string::npos)
{
inputStr.replace( position, oldStrLen, newStr );
position += newStrLen;
}