C语言库函数学习【string.h】之strcpy_(char * dest,const char * src)

C语言库函数学习【string.h】之strcpy_(char * dest,const char * src)


 代码如下:

 

 

#include<stdio.h>
/*
函数功能:复制字符串src 中的字符到字符串dest,包括空值结束符。
参数描述:
dest:目标字符串
src:源字符串
返回值:目标字符串的指针

*/
char * strcpy_(char * dest,const char * src)
{
if( NULL == dest || NULL == src)
return (char *) NULL;

char *start=dest; /*目标字符串首地址*/
while((*dest++=*src++)!='\0'); /*或者while((*dest++=*src++));*/
return start;
}


/*
函数功能:将字符串src 中至多count个字符复制到字符串dest中。
如果字符串src 的长度小于count,其余部分用'\0'填补。
参数描述:
dest:目标字符串
src:源字符串
返回值:目标字符串的指针

*/

char *strncpy_(char* dest,const char* src,int count)
{
if( NULL == dest || NULL == src)
return (char *) NULL;

char *start = dest; //首地址

while (count && (* dest++ = *src++))
count
--;

while(count--)
* dest++='\0';

return(start);
}



/*
函数功能:将字符串src 中至多count个字符复制到字符串dest中,末尾添加'\0'。
参数描述:
dest:目标字符串
src:源字符串
返回值:目标字符串的指针

*/
char * strncpyl_(char* dest,const char* src,int count)
{
if( NULL == dest || NULL == src)
return (char *) NULL;

char *start = dest; /*首地址*/

while (count && (* dest++ = *src++))
count
--;
* dest = '\0'; /*末尾添加'\0'*/

return(start);
}

 


 

 

 

 

 

 

posted @ 2010-04-27 17:42  达闻东  阅读(683)  评论(0编辑  收藏  举报