我试图读取文件中的数据,但收到STATUS_STACK_BUFFER_OVERRUN错误并且应用程序崩溃。读取文件时字符缓冲区溢出
我有一个结构:
struct BSPEntities
{
char* ents;
};
而且我读文件:
BSPEntities entities
ifstream mapfile;
int size = 54506;
int offset = 5182600;
entities.ents = new char[size];
mapfile.seekg(offset, ios::beg);
mapfile.read((char *)(&entities.ents), size);
“大小”和“抵消”从文件加载和已知值是有效的。我有预处理器指令#pragma pack(1)和#pragma围绕BSPEntities结构。
谢谢。
为什么使用原始的新? –