原型:
C库string.h中的strcat函数
描述:
C 库函数 char *strcat(char *dest, const char *src) 把 src 所指向的字符串追加到 dest 所指向的字符串的结尾。
参数:
dest:指向目标数组,该数组包含了一个 C 字符串,且足够容纳追加后的字符串。
src:指向要追加的字符串,该字符串不会覆盖目标字符串。
返回值:
该函数返回一个指向最终的目标字符串 dest 的指针。
模拟实现strcat:
char *my_strcat(char *dest, const char *src)
{
char *start = dest;
assert(NULL != dest);
assert(NULL != src);
while (*dest++) //找到dest字符串结尾'\0'
;
--dest; //dest往前移一步,使得下面赋值时,'\0'被*src覆盖。
while (*dest++ = *src++)
;
return start;
}
原型:
C库string.h中的strncat函数
描述:
C 库函数 char *strncat(char *dest, const char *src, size_t n) 把 src 所指向的字符串追加到 dest 所指向的字符串的结尾,直到 n 字符长度为止。
参数:
dest:指向目标数组,该数组包含了一个 C 字符串,且足够容纳追加后的字符串,包括额外的空字符。
src:指向要追加的字符串,该字符串不会覆盖目标字符串。
n:n -- 要追加的最大字符数。
返回值:
该函数返回一个指向最终的目标字符串 dest 的指针。
模拟实现strncat:
char *my_strncat(char *dest, const char *src, size_t n)
{
char *start = dest;
assert(NULL != dest);
assert(NULL != src);
while (*dest++) //找到dest字符串尾部'\0'
;
--dest; //dest往前移一步,使得下面赋值时,'\0'被*src覆盖。
while (n-- && (*dest++ = *src++)) //多了个计数器n
;
return start;
}