memcpy在啥情况下会失败

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了memcpy在啥情况下会失败相关的知识,希望对你有一定的参考价值。

参考技术A

1、memcpy在使用时注意不可用字符串,如果是字符串会导致段错误,可以使用asprintf函数复制字符串,从而导致memcpy的段错误。

2、即memcpy不能拷贝目的地址(dest)和源地址(src)内存空间有重合的部分,更为确切的说应该是当目的地址大于源地址的时候,不能够有重合部分,否则源地址重合部分数据会发生错误。

3、当copy越界时,可能会出现程序异常。

扩展资料:

如果目标数组destin本身已有数据,执行memcpy()后,将覆盖原有数据(最多覆盖n)。如果要追加数据,则每次执行memcpy后,要将目标数组地址增加到你要追加数据的地址。

source和destin所指的内存区域可能重叠,但是如果source和destin所指的内存区域重叠,那么这个函数并不能够确保source所在重叠区域在拷贝之前不被覆盖。而使用memmove可以用来处理重叠区域。函数返回指向destin的指针。

参考资料来源:

百度百科-memcpy

以上是关于memcpy在啥情况下会失败的主要内容,如果未能解决你的问题,请参考以下文章

AppDomain.DoCallback()在啥情况下会失败?

在啥情况下我应该在 C++ 中使用 memcpy 而不是标准运算符?

在啥情况下会在控制权到达 main() 函数之前发生崩溃? [复制]

React:useState 钩子中的 setState 在啥情况下会导致重新渲染?

SQLite中的页面缓存在啥情况下会被清除?

Linux信号函数的SIG_ERR在啥情况下会出现?