【我解C语言面试题系列】010 从相应位置开始删除指定字符串的相应个字符
从相应位置开始删除指定字符串的相应个字符
假设一个字符串 " abcdefg ",那么请你写一个函数,该函数将会从指定位置开始,删除指定长度的字符。如:要从第二个开始,删除2两个字符。则删除后的字符串是 “adefg”。
char *DeleteTheCharacters(char *str,int pos,int len)
{
char *p = str+pos-1;
int tt = strlen(str);
// If over the p && (p + len) over the length of str
if( pos < 1) return str;
if( (p-str) > tt ) return str;
if( (p+len-str) > tt)
{
*p = '/0';
return str;
}
//Delete the len characters
while(*p && *(p+len))
{
*p = *(p+len);
p++;
}
*p = '/0';
return str;
}