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)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

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

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...