#include <cstdio>
#include <cstdlib>
#include <cstring>
char *delstring(char *str, int pos, int n)
{
char *p = str+pos-1; // 快速定位到要删除字符的其实位置,第一个字符则str+0,以此类推
int len = strlen(str);
if (pos < 1 || pos > len)
return str;
//if (len-pos < n) 不如下边的写法好理解
if (pos+n >len)
{
*p = '\0';
return str;
}
while (*p &&*(p+n))
{
*p = *(p+n); //向前移动并覆盖
p++;
}
*p = '\0';
return str;
}
int main()
{
char s[] = "123456789";
delstring(s, 3, 3);
puts(s);
return 0;
}
从字符串指定位置删除指定长度字符
最新推荐文章于 2021-03-09 20:12:17 发布