把一个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幺愮类韫”
不知是哪里出错了?