淡泊明志 宁静致远
分类: 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,
复制字符串,返回指向被复制字符串的指针。所需空间由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;
}