【发布时间】:2012-08-25 21:35:42
【问题描述】:
我的程序使用一些 QByteArray 类型的变量来包含数据(字节)。该字节可能是特殊字符,例如 '\0', 1, ... 所以调试时我看不到特殊字符后的所有元素。如果我使用 std::vector,我可以看到所有元素。我必须使用 QByteArray 但在调试时我看不到这个变量的所有元素。帮帮我,请! 谢谢!
示例:QByteArray bytes(4, '\0'); 现在,如果调试,我只看到“”。但我想看 "'\0', '\0', '\0', '\0'" 或类似的东西。
我对 QDateTime 也有同样的问题。但我通过这个帮助解决了:http://www.qtcentre.org/threads/32336-View-QDate-and-QDateTime-in-VisualStudio-debugger
此链接可能会有所帮助,但这不能解决我的问题:http://qt-project.org/wiki/IDE-debug-helpers
例子:
QByteArray ba("Hello"); //debuging, see: ba = "Hello"
ba.append('\0');
ba.append("a message"); //we just see: ba = "Hello"
【问题讨论】:
-
ba.replace( "\0", "\\0" ) 如果它只有大约 0 个字节。 ba.toHex() 通常对无法打印的字符很有用。
-
@JoachimPileborg:谢谢
-
@FrankOsterfeld:不,可能是任何字符
-
@aviit 还有哪些角色给你带来了困难?
标签: c++ visual-studio-2010 qt visual-studio-debugging qbytearray