字符串复制错误c ++

Mih*_*hai 2 c++ string char

我有许多字符串,如果它对应于特定的组,我必须检查字符串中的每个字符.如果是这样,我想删除该字符.我正在使用这个:

EDIT strcpy(input[0]+1, (input[0]+2));
Run Code Online (Sandbox Code Playgroud)

我试图跳过字符串中的第一个字符,然后删除下一个字符.例如,我有"琼斯",我跳过"J",删除"o"并想要留下"Jnes".

有谁知道为什么以上不起作用或有一个更简单的解决方案来做到这一点?

谢谢!

Bar*_*mar 5

文档:

字符串可能不重叠

处理重叠源和目标所需的唯一数组复制功能是memmove().这要求您指定要复制的字节数,因此您必须使用它strlen()来计算它.

memmove(input+1, input+2, strlen(input+2)+1); // +1 for the null byte
Run Code Online (Sandbox Code Playgroud)