C++ 使用自定义字符串复制函数从char*复制到char*时出现严重错误
看看这句话C++ 使用自定义字符串复制函数从char*复制到char*时出现严重错误,c++,string,C++,String,看看这句话 void strCopy(char* dest, const char* src) { while (*src) { *dest = *src; src++; dest++; } *dest = '\0'; } 很明显,您需要将str从startRange复制到endRange,并在结果字符串后面附加终止零 但是,您正在尝试复制所有字符串str result[i] = new cha
void strCopy(char* dest, const char* src)
{
while (*src)
{
*dest = *src;
src++;
dest++;
}
*dest = '\0';
}
很明显,您需要将str
从startRange
复制到endRange
,并在结果字符串后面附加终止零
但是,您正在尝试复制所有字符串str
result[i] = new char[(endRange - startRange + 1)];
您需要编写一个函数,如<代码> STD::STRNCPY < /C>或类似<>代码> STD::MimCPy ,并使用它复制子串。如果您使用C++,那么为什么标记C并使用StrucPy?使用<代码> STR::String >不是C++不是C!删除不相关的标签。我甚至不会试图理解这个完全混乱和破碎的算法。前面的
while
循环前进endRange
,直到找到分隔符或'\0
,因此startRange
在这方面绝对没有意义。即使以这种方式调整算法,它仍然会完全被破坏,这是很明显的。@SamVarshavchik我确信他为自己的函数strCopy而烦恼,显示的代码不是真正的代码。;)当他编写函数时,他可以问一个新问题。:)
result[i] = new char[(endRange - startRange + 1)];
strCopy(result[i], str);