Qt新手求帮助 qDebug显示出错

weixin_38065414 2019-09-19 12:14:29
把一个32位的整数,每八位用一个char来存放。例如,quint32 c=0x31323334;把它放到一个ch【4】字符串中然后用qDebug输出字符串ch[],但是显示不正确。代码如下:        quint32 c=0x31323334;        int l=sizeof(c);//l为4                   char ch[l];        int i;        for(i=0;i<=l-1;i++)      //ch[0]=0x31,ch[1]=0x32,ch[2]=0x33,ch[3]=0x34            {ch=c>>(l-1-i)*8; //把整数移位8的倍数位,依次把一个字节赋给字符串。            }        qDebug()<<ch<<endl;//用qDebug()输出字符串困惑是:           qDebug理应输出“1234”,但是确是“1234P价巅皊爈`6X幺愮类韫”不知是哪里出错了?
...全文
143 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38067813 2019-09-19
  • 打赏
  • 举报
回复
qDebug显示没问题i,是你C/C++基础没过关造成的。C里面,你想存4个字符的字符串,至少也要是 char[5]吧?

435

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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