2012-04-25 110 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

相關問題