gpt4 book ai didi

c++ - memcpy 和 _CrtlsValidHeapPointer(pUserData)

转载 作者:行者123 更新时间:2023-11-30 04:10:51 26 4
gpt4 key购买 nike

我的 for 循环中的 memcpy 有问题 - 我需要将字符串转换为 *char:

for(i=0;i<10000;i++){
char* Bchar = new char[Bi[i].length()+1];
ZeroMemory(Bchar,Bi[i].length());
memcpy(Bchar, Bi[i].c_str(), Bi[i].length()); //Exception on this row
...
delete [] Bchar;
}

有与 exception 的链接

最佳答案

看起来您没有将字符串零终止到新创建的 Bchar 缓冲区中。根据您在复制到 Bchar 缓冲区后对其执行的操作,您很可能会访问缓冲区末尾。

代替 ZeroMemory/memcpy,只需使用 strcpy(或 strcpy_s)。

关于c++ - memcpy 和 _CrtlsValidHeapPointer(pUserData),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20439018/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com