javenreal 发表于 2017-4-2 12:34:22

QT使用vsprintf函数,在安卓里面运行出错,有人遇到过吗?

完全相同的代码,编译为Windows程序,就可以正常出结果。而编译为安卓程序,出来的最终字符串是空的。
我怀疑是安卓系统堆栈等机制和c区别比较大,造成的这个问题。

aozima 发表于 2017-4-2 14:00:19

你不会往局部变量里面打吧?

javenreal 发表于 2017-4-6 10:52:59

终于找到原因了,原来是如果输出汉字,vsprintf出来的字符串是空字符串。如果用纯英文就可以......

霸气侧漏 发表于 2017-4-6 11:36:53

javenreal 发表于 2017-4-6 10:52
终于找到原因了,原来是如果输出汉字,vsprintf出来的字符串是空字符串。如果用纯英文就可以...... ...

厉害啊,这都发现不错不错

javenreal 发表于 2017-4-7 14:32:52

霸气侧漏 发表于 2017-4-6 11:36
厉害啊,这都发现不错不错

完美解决,哈哈!

不要用vsprintf及vsnprintf。   换成QString::vasprintf()汉字也可以正常打印了。
页: [1]
查看完整版本: QT使用vsprintf函数,在安卓里面运行出错,有人遇到过吗?