代码如下:
- C/C++ code
#include<stdio.h> char largechar[]="abcdefghijklmnopqrstuvwxyz"; void main() { char smallchar[8]; strcpy(smallchar,largechar); }
编译成功,运行,却没有报错(注:其它电脑报错了),按期待应该会提示“。。。。。。。。。。。。。不能为read”
这是怎么回事啊?
我的系统是:
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
本人认为系统里应该没有堆栈溢出保护,因为其它溢出程序也能正常工作,可就是没有报错的,请各位大虾帮忙解决一下,谢谢了。
------解决方案--------------------
我把你的代码放到VC6.0下运行,结果是报错。。。
关于缓冲区溢出这些我也没有系统的学过,这是原来爱好这个,自己研究了的
我不碰这个已经很久了。。。(工作和这个无关的缘故)
网上应该有,就怕说的不够浅显易懂,楼主可以搜搜看