zoukankan      html  css  js  c++  java
  • 函数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函数的百科

  • 相关阅读:
    OO实现ALV-SALV-实战攻略3-2-ALV工具栏自定义按钮展示方式
    OO实现ALV-SALV-实战攻略3-1-ALV工具栏按钮展示方式
    关于springboot开发的总结
    WEB端第三方登陆接入
    WEB端第三方登陆接入
    WEB端第三方支付接入
    WEB端第三方支付接入
    ABAP-HTML-MAIL
    ABAP-Logs-SLGD
    ABAP-Dynamic-Internal table
  • 原文地址:https://www.cnblogs.com/love-yh/p/7240506.html
Copyright © 2011-2022 走看看