strcpy
介绍
-
Copies the C string pointed by source into the array pointed by destination, including the terminating null character (and stopping at that point).
-
源字符串必须以 ‘\0’ 结束。
-
会将源字符串中的 ‘\0’ 拷贝到目标空间。
-
目标空间必须足够大,以确保能存放源字符串。
-
目标空间必须可变。
-
学会模拟实现。
模拟实现strcpy
char* my_strcpy(char* dest, const char*src)
{
assert(dest != NULL);
assert(src != NULL);
char* ret = dest;
//拷贝src指向的字符串到dest指向的空间,包含'\0'
while (*dest++ = *src++)
{
;
}
//返回目的空间的起始地址
return ret;
}
int main()
{
char arr1[] = "abcdefghi";//2
//错误的示范,常量字符串不可以修改,所以需要将字符串储存为数组形式
//char *arr1 = "abcdefghi";
char arr2[] = "bit";//4
//错误的示范,没有结束标志'\0',所以不能实现复制操作,会导致终止条件出现问题
//char arr2[] = { 'b', 'i', 't' };
my_strcpy(arr1, arr2);
printf("%s\n", arr1);
return 0;
}