码迷,mamicode.com
首页 > 其他好文 > 详细

自己实现的字符串处理函数

时间:2016-08-23 12:59:58      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:

1、strcat(字符串连接函数)

     一般形式strcat(字符数组1字符数组2),将字符串2接到字符串1后面

char* my_strcat(char* StrDest, const char* StrSrc)
{
    char  *des = StrDest;
    assert((StrDest!=NULL)&&(StrSrc!=NULL));
    while (*StrDest)
    {
        StrDest++;
    }//StrDeest指向‘\0‘,可以直接赋值吗?
    while (*StrDest++!= *StrSrc++);
    return des;
    }

调用时两个参数要传字符数组,字符数组必须足够大到可以容纳字符数组2

int main()
{
    char str1[20] = "I am ";
    char str2[10] = "a student";
     puts(my_strcat(str1, str2));
}

 

2、strcpy(字符串复制函数)

一般形式strcpy(字符数组1,字符串2),将字符串2复制到字符数组1中去

char* my_strcpy(char* StrDest,const char* StrSrc)
{
    char  *des = StrDest;
    assert((StrDest!=NULL)&&(StrSrc!=NULL));
    while (*StrDest++ = *StrSrc++);//<-
    return des;
    }

int main()
{
    char str1[20] = "I am 345453656";
    char str2[]="a student"; 
    puts(my_strcpy(str1, "ccc"));//ccc
     puts(my_strcpy(str1, str2));//a student

不能用赋值语句将字符串常量或字符数组给字符数组(用strcpy函数)

str1="china";

str1=str2;

3、strlen(字符串长度)

一般形式strcpy(字符数组)

int  my_strlen(const char* str)
{
    assert(str != NULL);
    int len = 0;
    while (*str++!=\0)
    {
        len++;
    }
    return len;
}

4、strcmp(字符串比较函数)

一般形式strcpy(字符串1,字符串2),比较字符串1和字符串2

int my_strcmp(const char* strDest, const char* strSrc)
{
    assert(strDest != NULL && strSrc != NULL);
const char* pDest = strDest; const char* pSrc = strSrc; int result = 0; while (*pDest != \0 || *pSrc != \0) { if ((result = *pDest - *pSrc) != 0) { break; //当两字符不相等时跳出,相等是继续往后指 } pDest++; pSrc++; } if (result > 0) { result = 1; } else if (result<0) { result = -1; } return result; }

 

自己实现的字符串处理函数

标签:

原文地址:http://www.cnblogs.com/Blog-day/p/My_Blog_Days-34.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!