strcpy属于一个长度不受限制的字符串函数,是用来拷贝字符串的,将源字符串source拷贝到目标字符串destination中。
char* strcpy(char* destination,const char* source)
这里需要注意以下几点:
1、源字符串必须以'\0'结束。比如源字符串为char str[5] = {'a','b','c','d','e'}; ,这拷贝个啥,谁直到拷贝到哪里。
2、会将源字符串中的'\0'拷贝到目标空间之中
3、目标空间必须可变(不能用const修饰),并且目标空间必须足够的大,确保能存放下源字符串。
先来使用以下这个函数

strcpy可以将arr1中的内容拷贝到arr2中,当给arr1赋予一些字符的时候,我们在监视窗口中可以看到,我们将源字符串中的'\0'拷贝到了目标空间中

因此我们在打印arr1时候打印不出来后面的字符,因为打印字符串遇到\0就停止了
我们来模拟一下strcpy函数
char* my_strcpy(char* destination, const char* source)
{
char* red = destination;
while (*destination++ = *source++)
{
;
}
return red;
}
int main()
{
char arr1[20] = "XXXXXXXXXXXXXXXXXXXX";
char arr2[] = "zxcvbnm";
my_strcpy(arr1, arr2);
printf("%s", arr1);
return 0;
}

2万+

被折叠的 条评论
为什么被折叠?



