char *delete_string(char *str,int pos,int len)
{
char *p=str+pos;//指向pos位置的字符
int str_len = strlen(str);//自定义方法
//int str_len=strlen(str);//字符长度库函数
if ((pos<1)||(p-str)>str_len)//检查pos是否不大于1,或pos超出字符串长度
{
return str;
}
if ((p+len-str)>str_len)//len大于pos后剩余的字符个数的话,只需对pos位置赋'\0'
{
*p='\0';
return str;
}
while (*p && *(p+len))//len小于或等于pos后剩余的字符个数删除len个字符
{
*p=*(p+len);
p++;
}
*p='\0';
return str;
}
int _tmain(int argc, _TCHAR* argv[])
{
//get_max(1,2,3,get_big);
char *a = "abcddfa";
char *b = "df";
const char*c = delete_string(a,2,2);
return 0;
}
a是常量字符串,不可以修改的。改为 char a[] = "abcddfa";
因为你的字符串是只读的,用字符数组
char a[100] = "abcddfa";
char b[100] = "df";