• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

codkk

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

Run-Time Check Failure #2 - Stack around the variable 'hexsum' was corrupted.

char hexsum[6];
sprintf(hexsum,"%06x",sum);
c[2] = hexsum[0];
c[3] = hexsum[1];

我想在局部变量hexsum[6]的剩余位补零。使用了%06X。在出来hexsum的作用域外时出现提示:Run-Time Check Failure #2 - Stack around the variable 'hexsum' was corrupted.;

解决:因为hexsum是6位,故使用%05X。最后一位自动会填'\0'。

原因:猜测是总共位数是6位,却要print输出6位,最后自动填‘\0'时越位。真正原因还在学习。

@whq 感到无限的挫败感,好高骛远,根基不实,不清楚c语言的基础,尽管平时工作是用C++,但还是用的c的东西,一点也不深入,高不成低不就。

posted on 2015-11-27 23:17  codkk  阅读(253)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3