有那么麻烦么 C++ 用string类 里面就有这个函数 我看了LS几个回答 还有用C写的 。。 还有 楼主。 稍微专业点的C++ 是include
#include
using namespace std;
void str_dele(char str[],int m) //删除字符串str的第m个字符
{
int i,j=0,length=strlen(str);
char temp_str[100];
if(m>strlen(str))
cout<<"删除的位置不对!"<
{
for( i=0;i
else
temp_str[j++]=str[i];
}
for(i=0,j=0;j
}
int main()
{
char str_0[]="abcdefghijik";
cout<<"原来的字符串为:"<
str_dele(str_0,2); //函数调用
cout<<"删除指定位置字符后的字符串:"<
return 0;
}
int str_len(char *p)
{
int i = 0;
while(*p!='\0') {
i++;
p++;
}
return i;
}
void str_del(int loc,char *p)
{
int i;
for(i=loc-1;i
}
int main()
{
char a[] = "hello";
char *p = a;
int length;
int loc = 2;
length = str_len(p);
printf("%d\n",length);
str_del(loc,p); printf("%s",a);
}
C++中的string类中有erase成员函数,其功能是删除字符串中的字符或字符串。
该成员函数的原型为
string erase(int start, int len); //start为要删除字符的起始位置(从0数起),len为要删除字符的个数。
例如:
...
#include
using namespace std;
...
string s1="asdfgh", s2;
s2=s1.erase(2,3); //删除s1中从第2个字符其的3个字符。
则s2的内容为"ash"