Chinaunix首页 | 论坛 | 博客
  • 博客访问: 99231
  • 博文数量: 65
  • 博客积分: 2520
  • 博客等级: 少校
  • 技术积分: 680
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-22 15:10
文章分类

全部博文(65)

文章存档

2011年(1)

2010年(64)

我的朋友
最近访客

分类: C/C++

2010-06-03 02:34:15

调用库函数,实现strcpy函数, strcpy函数的原型:

char *strcpy(char *dest, const char *src);

 

一个很经典版本的strcpy函数源码:

char *strcpy(char *dest, const char *src)
{
   
char *tmp = dest;

    assert((dest != NULL) && (src != NULL)); 

    if(dest == src)

    {
        return dest;

    }


    while((*dest++ = *src++) != '\0')
        ;

    return tmp ;
}

 

其中函数名: assert

    功能: 测试一个条件并可能使程序终止

    用法: void assert(int test);
    assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:

    #include

    void assert( int expression_r_r );

    assert的作用是现计算表达式 expression_r_r ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,

    然后通过调用 abort 来终止程序运行。

阅读(1439) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~