2012-04-25 91 views
0

我有一个程序,其中我使用unsigned char类型来表示整数,但在使用Visual Studio 2005检查调试器中的变量时,它向我显示ASCII字符表示,而我想看到十进制表示法。有谁知道改变数据显示方式的方法吗?更改Visual Studio调试器显示字符变量的方式

+0

使用'char'来表示一个整数通常不是你想要的,因为它的签名是未指定的。 'signed char'或'unsigned char'会更好。我认为调试器会以整数形式打印这些类型的值。 – 2012-04-25 19:56:27

+0

我实际上使用'unsigned char',我只是忽略了这么说。我编辑了我的问题来反映这一点。 – JBentley 2012-04-25 20:29:10

+0

好。 :-)不幸的是,我不知道你的问题是否有解决方案,除了铸造之外,正如John Dibling所建议的。 Visual Studio 11 Beta调试器显示数值(十进制或十六进制,取决于您的设置)和该值的字符解释。这可能是在Visual Studio 2005之后添加的一个功能。 – 2012-04-25 21:28:15

回答

2

假设您有一个变量foo,声明为uint32_t,并且您想要显示foo就好像它实际上是float一样。在监视窗口,你可以输入表达式:

*(float*)&foo

...它将显示foo投作为float

+0

在这种情况下,'(int)foo'可能就足够了,因为'char'和好友都是整数类型。 – 2012-04-25 21:13:18

+0

@John谢谢,这很有用。但我正在通过使用来自更高级别数据结构的扩展器(+)来检查变量。例如,我有一个包含三个列表的对象,每个列表包含几百个对象,它们本身包含几个'unsigned char's。我希望能够将整个列表一目了然地视为整数而不是字符。 – JBentley 2012-04-25 23:44:00

相关问题