strcpy不能拷贝原来的字符串,也不能拷贝字符串常量,那他的用处是什么,能举个例子吗
strcpy还有一个缺点:容易发生缓冲区溢出。你可以用用strncpy,效果一样,而且更安全。
#include <stdio.h>
#include <string.h>
int main(){
char str1[50] = "abc";
char str2[50] = "def";
strcpy(str1, str2);
printf("str1: %s\n", str1);
return 0;
}
运行结果 :
str1: def
就是一个覆盖问题,原先的字符串被覆盖。因为字符串常量是不能修改的,所以不能被覆盖。