今天遇到了一个有趣的现象;以下是一部分示例代码
QString test="womeng";
QString v;
v.sprintf("%s",test);
本以为v="womeng"
但是现实是v=" ",也就是说,sprintf函数出错了,工程急,就先不去想原因,直接找了个替代方案
使用QString的arg函数完美搞定
QString test="womeng";
QString v;
v=QString("%1").arg(test);
结果v="womeng"
后面仔细想了一下,可能是QString类型不以'\0'结尾,导致sprintf函数处理时出错,返回NULL;
于是我天真的使用
<span style="font-size:14px;">test.append('\0')</span>
还是不行,test还是没有在末尾添加上结束符.
转换成QByteArray,再使用append(),添加是添加上了,但是使用sprintf函数,v=" ",还是出错!
搞不定,留日后再思考吧!