strcpy的作用是将一个字符串的内容复制到另外一个字符数组中,包括字符串的终结符'\0'
#define _CRT_SECURE_NO_WARNINGS 0
#include <stdio.h>
#include <windows.h>
#include <assert.h>
char *my_strcpy(char *dest, const char *src)
{
assert(src != NULL);
assert(dest != NULL);
char *ret = dest;
//先进行了复制再进行了++,当赋值到终结符‘\0’时,不符合while的判断条件,退出循环
while ((*dest++ = *src++))
{
;
}
return ret;
}
int main()
{
char arr[20]; //必须给够足够大的空间,使其能将字符完全复制
char str[] = "hello world !";
printf("%s\n", my_strcpy(arr, str));
system("pause");
return 0;
}
strcat函数是字符串链接函数,将src字符串连接到dest字符串的有效字符的后面,包括’\0’,str的第一个字符把dest的\0覆盖掉
#define _CRT_SECURE_NO_WARNINGS 0
#include <stdio.h>
#include <windows.h>
#include <assert.h>
char *my_strcat(char *dest, const char *src)
{
assert(src != NULL);
assert(dest != NULL);
char *ret = dest;
//目标字符串一直遍历到\0的位置,然后退出,然后下一步str的第一个字符把dest的\0覆盖
while (*dest)
{
dest++;
}
//先进行了复制再进行了++,当赋值到终结符‘\0’时,不符合while的判断条件,退出循环
while ((*dest++ = *src++))
{
;
}
return ret;
}
int main()
{
char str1[30] = "hi world "; //必须给够足够大的空间,使其能将字符完全拼接
char str2[20] = "hello world !";
printf("%s\n", my_strcat(str1, str2));
system("pause");
return 0;
}