【发布时间】:2013-07-26 10:50:59
【问题描述】:
我正在做一个可视化 c++ 应用程序并尝试为缓冲区分配大小(该缓冲区进一步用于存储流的内容)。 如果声明为缓冲区的大小小于则没有问题
const int size= 319000; //here there is no problem
但是为了从流中访问我想要的一些数据,我需要像这样声明大小的缓冲区-
const int size=4348928;//this size cause the problem
char buffer[size+1];
HRESULT hr = pStream->Read(buffer, size, &cbRead );
虽然代码的最后两行对我的问题没有任何作用,但它只是让您了解我究竟在用这个缓冲区的大小做什么。
但是当我声明这个大小时,它什么也不做(我的意思是我的可视化应用程序功能是这样的:如果你点击一个文件,它会生成一个流,我将该流存储在缓冲区中 - 如果我声明订单的大小319000 个程序运行良好,当将大小增加到 4348928 时,它甚至都不起作用——当然没有错误)
【问题讨论】:
标签: c++ types buffer buffer-overflow