我試圖讀取文件中的數據,但收到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結構。
謝謝。
爲什麼使用原始的新? –