• 函数strcpy的实现


    strcpy函数的百科中给出了各种情况的详细说明,这里,仅给出一些注意事项:

    1、strcpy的函数原型是:

    1 /* dest(destination)为目标字符串,src(source)为原字符串*/
    2 char *strcpy(char *dest,const char *src); 

     注:C++中strcpy函数在cstring头文件中,即:#include<cstring>。

    2、功能:

    将src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间中。

    值得注意的是:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串,即不重叠且目标字符串的地址够大。另外函数的返回值是指向dest的指针

    3、实现

    1 char *strcpy(char *dest,const char *src)
    2 {
    3     assert((dest !=NULL)&&(src !=NULL));
    4     char *addr=dest;
    5     while((*addr++ = *src++) !='');
    6     return dest;
    7 } 

    针对代码实现的说明:

    a)第三行:指针一定要先检查其有效性;另外,检查有效性时,最好不要用( !dest&& !src),在本例中char *转换为bool即是类型隐式转换,这种功能虽然灵活,但更多的是导致出错概率增大和维护成本升高;

    b)第四行:要先保存目标地址以便返回;

    c)第五行:将src字符串复制到dest时,要将其结尾的 '' 也要复制过来,

    d)第六行:返回dest的原始值使函数能够支持链式表达式。如:

    1 int len=strlen(str(strA,strB));

    更多详见strcpy函数的百科

  • 相关阅读:
    Jquery事件
    基础:装箱和拆箱...
    navicat编辑表的作用
    谷歌浏览器preview展示问题
    @Scheduled并行执行
    spring异步执行方法线程池的配置
    dubbo的ExceptionFilter异常处理
    dubbo异常处理
    idea设置启动jvm参数
    前后端分离走本地代码Charles的使用
  • 原文地址:https://www.cnblogs.com/love-yh/p/7240506.html
Copyright © 2020-2023  润新知