Strcat,strcpy,strcmp,Strlen函数原型

来源:互联网 发布:编程培训机构排名 编辑:程序博客网 时间:2024/06/03 18:00

各个函数的作用:
strlen(s) : 返回S的长度,不包括字符串结束符NULL;
strcmp(s1,s2) :比较两个字符串是否相同,若s1==s2,返回0,若s1>s2则返回正数,若s1<s2则返回负数;
strcat(s1,s2):将字符串s2连接到s1上,返回 s1;
strcpy(s1,s2):将s2,复制到s1,返回 s1.

实现:

1.

int strlen(const char* src)//const 2'

{
    assert(str != NULL); // 3'
    int count =0;


    while(*str++ != '\0') //2'
        count++;
    return count;//3'

}

2.

char* strcat(char *strD, const char *strS)
{
    assert(strD != NULL && strS != NULL);
    char* address = strD;
    
    while(*strD != '\0')//走到末尾
        strD ++;


    while(*strD++ = *strS++);//cat
    return address; //attention
}

3.

char *strcpy(char *strDest, const char *strScr)

{

       char *address=strDest;

       assert((strDest != NULL) && (strScr != NULL));

       while(*strScr)                   //是while(*strScr != ’\0’)的简化形式;

       {

              *strDest++ = *strScr++;

       }

       *strDest = '\0';                       //当strScr字符串长度小于原strDest字符串长度

       return address;                      //时,如果没有改语句,就会出错了。

}

4.

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

{           

       int len = 0;

       assert((str1 != '\0') && (str2 != '\0'));

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

       {

              str1++;

              str2++;

       }

       return *str1-*str2;

}


阅读全文
0 0