微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C语言中常用到的字符串函数

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。

编程之家小编现在分享给大家,也给大家做个参考。

字节拷贝函数
void * memcpy1(void *dest,const void *src,size_t n)
{
        assert(dest!=NULL&&src!=NULL);    //有效性检测
        if(dest == src)
                return dest;
        else if(dest < src)
        {
                const char *c_src = static_cast<const char *>(src);
                char *c_dest = static_cast<char *>(dest);
                while (n--) *c_dest++ = *c_src++;
        }
        else
        {
                const char *c_src = static_cast<const char *>(src) + n - 1;
                char *c_dest = static_cast<char *>(dest) + n - 1;
                while (n--) *c_dest-- = *c_src--;
        }
        return dest;
}


 
字符串比较函数
char *strcpy(char *des,const char *src)  
{  
    assert(des != NULL && src != NULL);  
    char *pStr = des;  
    while( (*des++ = *src++) != '\0')  
        NULL;  
    return pStr;  
}  


字符串比较函数
int  strcmp(const char *des,const char *src)  
{  
    assert(des != NULL && src != NULL);  
    for (;*des && *src && *des == *src; des++,src++)  
        NULL;  
    return *des - *src;  
}  


字符串长度函数
int strlen(const char *pStr)  
{  
    assert(pStr != NULL);  
    int len = 0;  
    while (*pStr++ != '\0')  
        len++;  
  
    return len;  
}  


字符串连接函数
char *strcat(char *des,const char *src)  
{  
    assert(*des != NULL && *src != NULL);  
    char *pStr = des;  
    while (*des != '\0')  
        des++;  
  
    while ((*des++ = *src++) != '\0')  
        NULL;  
    return pStr;  
}

 
字符串查找函数
char *myStrstr(const char *des,const char *src)  
{  
    assert(des != NULL && src != NULL);  
  
    char *d = des;  
    char *s = src;  
  
    for (; d != '\0'; des++)  
    {  
        for (d = des,s = src; (s != '\0') && (*d == *s); d++,s++)  
            NULL;  
      
    if (*s == '\0')  
        return des;  
    }  
      
    return NULL;  
  
}  

以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐