#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;
}
从字符串指定位置删除指定长度字符
最新推荐文章于 2026-07-01 18:22:27 发布
本文介绍了一个C语言函数,用于从给定的字符串中删除指定位置的n个字符,并提供了示例代码。通过修改字符串内容而非返回新字符串的方式实现,有助于理解C中字符串操作的基本原理。
730

被折叠的 条评论
为什么被折叠?



