#include "stdafx.h" #include <iostream> #include <string> using namespace std; char *delete_chars(char *str,int pos,int len) { char *p=str+pos-1; int tt=strlen(str); if (pos<1||(pos>tt)) //pos小于1 或者pos超出字符串长度 { return str; } if ((p+len-str)>tt) //len大于pos后剩余的字符个数 { *p='\0'; //直接把p指向的字符赋值为空 return str; } //删除len个字符 while (*p&&*(p+len)) { *p=*(p+len); p++; } *p='\0'; return str; } int main() { char str[]="sdfrwe"; cout<<str<<endl; int pos=2; int len=2; delete_chars(str,pos,len); cout<<str<<endl; return 0; }
代码摘抄自 c和c++程序员面试秘笈 代码的条理很清晰