zoukankan      html  css  js  c++  java
  • 自己实现的字符串处理函数

    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指向'',可以直接赋值吗?
        while (*StrDest++= *StrSrc++);
    *StrDest='/0';
    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++!='')
        {
            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 != '' || *pSrc != '') { if ((result = *pDest - *pSrc) != 0) { break; //当两字符不相等时跳出,相等是继续往后指 } pDest++; pSrc++; } if (result > 0) { result = 1; } else if (result<0) { result = -1; } return result; }
  • 相关阅读:
    linux下使用yum安装mysql、tomcat、httpd
    C++中 模板Template的使用
    Linux如何在虚拟机中挂载iso yum源
    实例讲解Nginx下的rewrite规则
    WorldWind源码剖析系列:图像助手类ImageHelper
    WorldWind源码剖析系列:缓冲类Cache
    WorldWind源码剖析系列:绘制参数类DrawArgs
    WorldWind源码剖析系列:设置类SettingsBase
    WorldWind源码剖析系列:经纬度格网类LatLongGrid
    WorldWind源码剖析系列:相机类CameraBase
  • 原文地址:https://www.cnblogs.com/Blog-day/p/My_Blog_Days-34.html
Copyright © 2011-2022 走看看