首页 > 技术文章 > char数组中除去某个元素

xiaoxi666 2017-09-02 21:09 原文

 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。

推荐阅读