gpt4 book ai didi

c++ - 0xC0000005 : Access violation writing location

转载 作者:太空宇宙 更新时间:2023-11-04 15:06:28 24 4
gpt4 key购买 nike

我有这个函数可以从文件中读取文本:

uintmax_t ResourcePack::getText(const string& file, char** data)
{
*data = new char[static_cast<size_t>(size) + 1];
fseek(_fileDescriptor, static_cast<long>(begin), SEEK_SET);
fread(*data, static_cast<size_t>(size), 1, _fileDescriptor);
*data[size] = '\0';
}

FILE* _fileDescriptor, uintmax_t sizeuintmax_t begin 在其他代码中获取,这里不重要,但取值正确。

fseekfread 行工作正常。实际上,我在*data中有文件内容,但是当执行最后一行时,我遇到了访问冲突。

为什么我可以使用 fread 写入 *data,但不能使用 *data[size] = '\0'

最佳答案

您在运算符优先级方面遇到问题 - 您需要 (*data)[size],而不是 *data[size]

关于c++ - 0xC0000005 : Access violation writing location,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13922995/

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