1. 程式人生 > >常用的字串功能函式

常用的字串功能函式

常用字串功能函式

1.連結函式

將字串src連線到des上,des最後面的'\0'被取消

#include

void Mystrcat(char *des,const char *src)

{

       int i;

       int j;

       for(i=0;des[i]!='\0';i++);

       des[i]=src[0];

       for(j=1;src[j]!='\0';j++,i++)

       {

              des[i+1]=src[j];

       }

       des[i+1]='\0';

}

int main()

{

       char des[10]="abc";

       char src[]="def";

       Mystrcat(des,src);

       printf("%s",des);

       return 0;

}

2.比較字串大小

str1>str2,返回正數;若str1返回負數;若str1=str2,返回0

#include

int Mystrcmp(const char *str1,const char *str2)

{

       int i=0;

       if(str1[i]==str2[i])

       {

              i++;

       }

       else if(str1[i]>str2[i])

       {

              return 1;

       }

       else if(str1[i]

       {

              return -1;

       }

       else

       {

              return 0;

       }

}

int main()

{

       char str1[]="abc";

       char str2[]="aafe";

       printf("%d\n",Mystrcmp(str1,str2));

       return 0;

}

3.字串拷貝

 將字串str拷貝到字串des

#include

void Mystrcpy(char *des,char *str)

{

       int i;

       for(i=0;str[i]!='\0';i++)

       {

              des[i]=str[i];

       }

       des[i]='\0';

}

int main()

{

       char str[]="abcdefg";

       char des[20];

       Mystrcpy(des,str);

       printf("%s",des);

       return 0;

}

4.求字串有效字元個數(不包括'\0'

#include

int Mystrlen(const char *str)

{

       int count=0;

       for(int i=0;str[i]!='\0';i++)

       {

              count++;

       }

       return count;

}

int main()

{

       char str[]="asdfg";

       printf("%d\n",Mystrlen(str));

       return 0;

}

注意:當遇到含有字串比較,拷貝,修改,連結,計算個數等要是用字串的庫函式,不能用> < =來比較,用+ -來計算。例”asdfg”是一個字串常量,字串常量是不允許修改的,一但修改,程式將會崩潰。所以如果想要修改字串,就要應用拷貝函式,將修改的字串複製到原來的字串上。

字串庫函式:標頭檔案引用  #include

連結函式Strcat void *stract(char *str1,char *str2)

將字串str1連線到str2上,str2最後面的'\0'被取消

比較函式Strcmp void *strcmp(char *str1,char *str2)

str1>str2,返回正數;若str1返回負數;若str1=str2,返回0

拷貝函式Strcpy  void *strcpy(char *str1,char *str2)

將字串str2拷貝到字串str1

統計字串函式Strlen  void * strlen(char *str)

 統計字串str的有效字元個數,有效字元不包括’\0’