Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1396186
  • 博文数量: 143
  • 博客积分: 10005
  • 博客等级: 上将
  • 技术积分: 1535
  • 用 户 组: 普通用户
  • 注册时间: 2006-10-23 17:25
个人简介

淡泊明志 宁静致远

文章分类

全部博文(143)

文章存档

2011年(2)

2009年(1)

2007年(22)

2006年(118)

我的朋友

分类: C/C++

2006-11-25 17:21:02

C语言库函数源代码】

【本程序在Dev C++ 4.9.9.2 下编译通过】

/*

   Allocates enough storage via malloc() for a copy of the string, copies the string into the new memory, and returns a pointer to it.

   复制字符串,返回指向被复制字符串的指针。所需空间由malloc()分配,且可以由free()释放。需要注意的是,在调用完这个函数后,一定要记得释放内存空间吆。

*/

#include

int my_strlen ( const char * str )

{

   const char *p = str;

    while( *p++ ) ;

    return( (int)(p - str - 1) );

}

char * my_strcpy(char * dst, const char * src)

{

   char * cp = dst;

   while( *cp++ = *src++ )  ;        

   return( dst );

}

char * my_strdup(const char *str)

{

   char *p;

   if (!str)

      return(NULL);

   if (p = malloc(my_strlen(str) + 1))

      return(my_strcpy(p,str));

   return(NULL);

}

int main()

{

   char *str = "ammana_babi";

   char *p;

   p = my_strdup("ammana_babi");

   puts(p);

   free(p);

   system("pause");

   return 0;

}

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