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);

}