可能重复:
堆栈溢出可视 C++,可能是数组大小?
此代码仅用于将二进制文件中的值读取到数组 DataBuffer 中。当 DataBuffer 的大小大于等于 515000 时,它就简单地崩溃了。我正在 Windows 7 上的 Visual C++ 2010 中开发它。函数 cbFileRead() 是我无法访问其源代码的东西。cbFileRead() 期望 DataBuffer 的类型为 USHORT*。
#include <stdio.h> // printf()
#include "cbw.h" // cbFileRead()
int main(int argc, char* argv[]) {
// Declarations
char* FileName = argv[1];
long FirstPoint = 0;
long NumPoints;
// Set data collection sizes
const long chunkSize = 515000;
NumPoints = chunkSize; // Number of points to be read into mem
WORD DataBuffer[chunkSize-1];
// Get data
cbFileRead(FileName, FirstPoint, &NumPoints, DataBuffer);
printf("Completed on data point %d whose value is %d\n", NumPoints, DataBuffer[chunkSize-1]);
return 0;
}
这次崩溃的原因是什么?我希望数组大小能够更高。