1 /*
2 本程序说明:
3
4 char数组中除去某个元素(其实就是strcpy源码的变形)
5
6 */
7 #include <iostream>
8 #include <cassert>
9 #include <cstring>
10 using namespace std;
11
12 char * remove_char(char* src, int length, char c){
13 char *dst=src;
14 char *res=dst;
15 assert(src!=NULL && length!=0);
16 int i=length;
17 while(i>0){
18 --i;
19 if(c==*src){
20 src++;
21 continue;
22 }
23 if(*src!='\0'){
24 *dst++=*src++;
25 }
26 //cout<<i<<" "<<src<<" "<<dst<<endl;
27 }
28 *dst++='\0';
29 return res;
30 }
31
32 int main()
33 {
34 char test[]="appleappleaaasasasasas";
35 //cout<<strlen(test)<<endl;
36 char c='a';
37 char* dest=remove_char(test,strlen(test),c);
38 cout<<dest<<endl;//pplepplesssss
39 return 0;
40 }
平时一定要多加练习,不然直接手写代码很容易出bug。