天天看點

C語言中操作字元串

     很多人認為C語言中的難點是指針,對指針的了解直接關系到所程式設計式的好壞,是以,

在這裡列舉了一些C編譯器通常都有的标準函數的源代碼,看過它們,就能對指針和字元串

有所了解了.

1. strlen(),計算字元串長度

int strlen(const char string)

{

    int i=0;

    while(string[i]) i++;

    return i;

}

2. strcpy(), 字元串拷貝.

char *strcpy(char *destination, const char *source)

{

    while(*destinaton++=*source++);

    return (destination-1);

}

3. strcat(), 字元串的連接配接.

char *strcat(char *target,const char *source)

{

    char *original=target;

    while(*target) target++;     // Find the end of the string

    while(*target++=*source++);

    return(original);

}

4. streql(), 判斷兩個字元串是否相等.

int streql(char *str1,char *str2)

{

    while((*str1==*str2)&&(*str1))

    {

        str1++;

        str2++;

    }

    return((*str1==NULL)&&(*str2==NULL));

}

5. strchr(), 在字元串中查找某個字元.

char *strchr(const char *string,int letter)

{

    while((*string!=letter)&(*string))

        string++;

    return (string);

}

6. chrcnt(), 計算某個字元在字元串中出現的次數.

int chrcnt(const char *string,int letter)

{

    int count=0;

    while(*string)

        if(*string==letter)count++;

    return count;

}

7. strcmp(), 判斷兩個字元串是否相等.

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

{

    while((*str1==*str2)&&(*str1))

    {

        str1++;

        str2++;

    }

    if((*str1==*str2)&&(!*str1)) //Same strings

        return o;

    else if((*str1)&&(!*str2))  //Same but str1 longer

        return -1;

    else if((*str2)&&(!*str1)) //Same but str2 longer

    else

    return((*str1>*str2)?-1:1);

}