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

字符串函数汇总

时间:2015-03-16 12:49:01      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:

1 strcpy

char* strcpy(char *strDes, char *strSrc)
{
    if (strDes == strSrc)                       //判断是否相等
        return strDes;
    assert(strDes != NULL && strSrc != NULL);   //判空
    char *des = strDes;                         //保存strDes基址
    while ((*des++ = *strSrc++) != \0)       //判断结束
        ;
    return strDes;
}

字符串拷贝函数需要考虑到以下几点:

  1. 原字符串与目标字符串内存重叠
  2. 对原字符串和目标字符串进行NULL检查
  3. 保存目标字符串strDes基址
  4. 赋值过程中递增以及判空

2 strncpy

char* strncpy(char *strDes, char *strSrc, size_t n)
{
    if (strDes == strSrc)
        return strDes;
    assert(n > 0 && strDes != NULL && strSrc != NULL);
    char *des = strDes;
    while ((*des++ = *strSrc++) != \0 && n-- > 0)
        ;
    if (*(--des) != \0)
        *des = \0;
    return strDes;
}

3 memcpy

void* memcpy(void* dest, void* source, size_t count)

      {

           void* ret = dest;

          //copy from lower address to higher address

          while (count--)

                  *dest++ = *source;


           return ret;

      }

 

字符串函数汇总

标签:

原文地址:http://www.cnblogs.com/wuchanming/p/4341411.html

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