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