c++ - 复制一些大于 dst 的内容时,memcpy() 是否安全?

标签 c++ c memcpy

request_token.size() 大于LEN 是否安全?

char dst[LEN];
memcpy(dst, request_token.c_str(), request_token.size());

最佳答案

不,这不安全;你会导致缓冲区溢出。原因是,除了您在第三个参数中传递的大小,memcpy 无法知道您的目标缓冲区的大小。

关于c++ - 复制一些大于 dst 的内容时,memcpy() 是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6289947/

相关文章:

c++ - 如何在 QTableView 中设置特定单元格的线条样式?

c - fwrite 和 fgets 处理它时遇到问题

c - 如何在C中连接字节数组

c - 从矩阵中提取特定列并将其作为新矩阵存储在 C 中

c++ - 错误 : Invalid use of non-static data member, 变量未在此范围内声明

c++ - 在什么情况下将 'this' 指针传递给类方法?

c++ - stat() st_mode 似乎没有更新

c - 未初始化的全局变量在 c 中总是默认为 0 吗?

c++ - 尝试用 codelite/g++ 编译

c - memcpy:警告:取消引用 ‘void *’ 指针