字符串连接函数strcat,strncat:
NAME
strcat, strncat - concatenate two strings
strcat()函数实现:
0.功能描述:
将源字符串连接到目标字符串字后。
1.原型:
#include <string.h>
char *strcat(char *dest, const char *src);
2.参数:
src:源字符串
dest:目标字符串
3.实现:
1.假装实现:
char *my_strcat(char *dest, const char *src)
{
//定义临时指针用以指向目标字符串末尾
char *p = NULL;
//参数判断
if(NULL == dest || NULL == src || src == dest){
return NULL;
}
//将p指向dest字符串末尾
p = dest + strlen(dest);
//拷贝
strcpy(p, src);
return dest;
}
strlen:http://blog.csdn.net/riyadh_linux/article/details/50004435
strcpy:http://blog.csdn.net/riyadh_linux/article/details/50001885
2.实际实现:
char *my_strcat(char *dest, const char *src)
{
//参数判断
if(NULL == dest || NULL == src || src == dest){
return NULL;
}
while('\0' != *dest){
dest++;
}
while('\0' != (*dest++ = *src++)){
//do nothing
}
return dest;
}
strncat函数实现:
0.功能描述:
将源字符串的前n个字符连接到目标字符串之后。
1.原型:
#include <string.h>
char *strncat(char *dest, const char *src, size_t n);
2.参数:
src:源字符串
dest:目标字符串
3.实现:
char *my_strncat(char *dest, const char *src, size_t n)
{
//参数判断
if(NULL == dest || NULL == src || src == dest){
return NULL;
}
//找目标字符串末尾
while('\0' != *dest){
dest++;
}
//连接
while(n-- && (*dest++ = *src++)){
//do nothing
}
if(-1 == n){
*dest = '\0';
}
return dest;
}
=================本文结束===============
小菜总结,如有不当,欢迎批评!