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);