//decode_buff为char *类型一副图片的的数据 ,decode_len为int型为这数据的长度
QByteArray byte(decode_buff,decode_len);
QPixmap pixmap;
pixmap.loadFromData(byte);
qDebug()<<"======pixmap.loadFromData(byte)==="<<pixmap.loadFromData(byte);
//返回true,表明这是一个图片数据块,可以显示在控件上
//把decode_buff的值赋值给picData
char *picData;
// picData=new char[decode_len];
// picData=(char *)malloc(sizeof(char)*decode_len);
picData=(char *)malloc(decode_len);
// picData=decode_buff;
strcpy(picData,decode_buff);
picData[decode_len] = '\0';
picDataLength=decode_len;
QByteArray byteArray(picData,picDataLength);
QPixmap pixMap;
pixMap.loadFromData(byteArray);
qDebug()<<"======pixMap.loadFromData(byteArray)==="<<pixMap.loadFromData(byteArray);
//把decode_buff赋值给picData之后,loadFromData返回的是false,为什么???
//我的赋值有没有问题?
------解决方案--------------------
不能用 strcpy 改成 memcpy,要问为什么,自己看函数介绍
------解决方案--------------------
strcpy碰到'\0'就结束了,碰不到就不结束,换memcpy,或者memmove