zoukankan      html  css  js  c++  java
  • 源码实现 --> strcpy

    拷贝字符串到目标字符串

    函数

    char *strcpy(char *strDestination, const char *strSource);

    复制源串strSource到目标串strDestination所指定的位置,包含NULL结束符, 不能处理源串与目标串重叠的情况.

    函数返回strDestination值.

    源码

    char *strcpys(char *strDes, const char *strSrc) {     
        assert((strDes != NULL) && (strSrc != NULL)); //assert用以检测是否为空,通过assert处理异常来返回NULL   
        char *address = strDes;     
        while ((*strDes ++ = *strSrc ++) != '')        
            NULL;     
        return address; 
    }

    关键点:assert判断有效性;NULL结束符。

    其实,可以不用指针变量address,只需返回strDes即可。

    测试

    #include<assert.h>
    #include<iostream.h>
    void main()
    {
        char a[20]="aaaaaaaaaaaaaaaaaa";
       char c[]="i am teacher!";
    //    cout<<a<<"
    "<<endl;
        //strcpy(a,c);
        char *addr=strcpys(a,c);
        cout<<addr<<endl;
        //printf("
    %s",a);
    }

    输出结果:

    i am teacher!
  • 相关阅读:
    培训是一种乐趣(3)
    JAVA多线程放号器
    西游记(2)
    Swing事件处理
    西游记
    Swing普通控件
    JAVA语言的BUG?
    Swing高级控件
    JavaBean属性拷贝
    JAVA排序汇总
  • 原文地址:https://www.cnblogs.com/jeakeven/p/5855505.html
Copyright © 2011-2022 走看看