请帮我看一下这个错误:run time check failure #2: stack around the variable c was corrupted

Lindalsy 2010-11-05 11:31:28
今天编完了一个DES加密程序,编译之后运行出现了这个错误:
源代码很长,这里不方便贴出来。我在程序return之前加了一行输出,显示这个程序一直到return前都是正常运行的。但是结束后就是会有上面那个错误。

请高手们帮忙看看,万谢!
...全文
165 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
gules 2010-11-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lindalsy 的回复:]
其他部分的代码都跟c没有关系了。输入的时候就是输了一个Y或者一个N而已,这怎么溢出了?
[/Quote]

我只问你一句:如果编译器报了一个错误,它指出了某行位置,可大部时候这个错误却为什么不在这行中呢(虽然这里不是编译错误)?
Defonds 2010-11-06
  • 打赏
  • 举报
回复
运行时。。
Lindalsy 2010-11-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 gules 的回复:]
程序中某个函数有缓冲区溢出之类的问题,导致调用该函数后溢出破坏了调用者的栈桢结构。
[/Quote]

我看了下我的程序,跟变量c有关系的才几行而已。如下:
char c;
cout<<"Encrypt?Deciphering?(Y==Encrypt,N==Deciphering):"<<endl;
cin>>c;
CodeMark=(c=='Y');

其他部分的代码都跟c没有关系了。输入的时候就是输了一个Y或者一个N而已,这怎么溢出了?
Lindalsy 2010-11-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 defonds 的回复:]
运行时。。
[/Quote]

哦,是的,是运行时的。上面写错了。
请问有没有什么可行的建议?
Lindalsy 2010-11-06
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 gules 的回复:]
我只问你一句:如果编译器报了一个错误,它指出了某行位置,可大部时候这个错误却为什么不在这行中呢(虽然这里不是编译错误)?
[/Quote]

是说可能是程序里其他变量出了问题吗?
dingshaofengbinbin 2010-11-05
  • 打赏
  • 举报
回复
看不见!!
gules 2010-11-05
  • 打赏
  • 举报
回复
程序中某个函数有缓冲区溢出之类的问题,导致调用该函数后溢出破坏了调用者的栈桢结构。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧