自学内容网 自学内容网

strcpy和memcpy

1. strcpy拷贝

strcpy主要用来拷贝字符串,直到遇到\0结束为止。

char s1[32] = "helloworld";
char s2[32] = "apple";
strcpy(s1, s2);

必须保证s1中有足够大的内存,因为\0也会被拷贝过去,打印s1是apple而不是appleworld

  • strcpy不会预先判断是否有足够大内存,所以是不安全的。
  • strcpy不可以拷贝整数,\0在内存中也是0.
  • 两块内存区域不可以重叠

2. memcpy内存拷贝

int s1[5] = {1,2,4,5,10};
int s2[5] = {1,2,4,5,10};
memcpy((void*)s1, (void*)s2, sizeof(int) * 5);

和strcpy要求一样,不可以有内存重叠;目标内存需要足够大,而且需要手动指定长度大小。


原文地址:https://blog.csdn.net/weixin_42130300/article/details/142787690

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!