字符串拼接函数:
char * strcat ( char * destination, const char * source );
strcat追加拷贝,追加到目标空间后面,目标空间必须足够大,能容纳下源字符串的内容。
char a[50]="hello ";
char *p="hi ";
strcat(a, " you");
char * strncat ( char * destination, const char * source, size_t num );
strncat(a, "123456", 3);
仿真字符串拼接函数 strcat:
char* my_strcat(char* dest, const char* src);
char* my_strcat(char* dest, const char* src)
{
char* p_dest = dest;
const char* p_src = src;
int t = strlen(p_dest);
p_dest += t;
while (*p_src)//!='\0'
{
*p_dest = *p_src;
p_src++;
p_dest++;
}
*p_dest = '\0';
return dest;
}
测试:
my_strcat(a, p);
my_strcat(a, " are");
完整代码:
#include <stdio.h>
#include <string.h>
char* my_strcat(char* dest, const char* src);
int main ()
{
/*字符串拼接函数*/
char a[50]="hello ";
char *p="hi ";
/*strcat*/
my_strcat(a, p);
my_strcat(a, " are");
strcat(a, " you");
printf("%s\n", a);
/*strcat_s*/
strcat_s(a, 50, " me.");
printf("%s\n", a);
/*strncat*/
strncat(a, "123456", 3);
printf("%s\n", a);
/*strncat_s*/
/*仿真字符串拼接函数 strcat strcat_s */
return 0;
}
char* my_strcat(char* dest, const char* src)
{
char* p_dest = dest;
const char* p_src = src;
int t = strlen(p_dest);
p_dest += t;
while (*p_src)//!='\0'
{
*p_dest = *p_src;
p_src++;
p_dest++;
}
*p_dest = '\0';
return dest;
}
完整打印: