在内存读写时出错,在读入端保证是正确编码格式,未乱码,但是得到错误的数据却有问题
memcpy_s(_szChar,VAR_MAX_LEN+1,strVal.toUtf8().constData(),strVal.size());
strVal是QString类型
解决方法:
auto val=strVal.toUtf8();
memcpy_s(info._data._szChar,VAR_MAX_LEN+1,val.constData(),val.size());
原因,QString转成char*后字节大小与strVal.size()不一致