2012-01-26 18 views
0

我正在Visual C++中開發我的GUI,並且我想在豐富的編輯或類似的文本編輯控件中顯示二進制數據,所以請任何人都可以幫助我如何實現這一目標(如果我們打開記事本++中的任何二進制文件)。在vC++組件中顯示二進制數據

編輯: 我想在GUI中顯示的所有ASCII字符。

例如:

enter image description here

請幫助我。

+0

「二進制數據」和「文本控制」似乎不太匹配。你的意思是你想編輯它像一個十六進制編輯器? –

+0

@JoachimPileborg:是的,但實際上我正在開發使用visual C++(GUI)和C++的客戶端服務器應用程序。現在我想在客戶端/服務器發送的任何控件中顯示二進制數據。這是什麼辦法做到這一點,請幫助我... –

回答

1

有兩種方法可以做到這一點。

  1. 如果您已經有二進制數據的格式,只是輸出,字段名和值的結構:

     
    Data: 
        Field1: Value1 
        Field2: Value2 
    

    上面可以從如下的結構:

    struct Data 
    { 
        int field1; 
        int field2; 
    } 
    
  2. 您可以像十六進制編輯器那樣格式化數據,如下所示:

     
    0000 xx xx xx xx xx xx xx xx ........ 
    0008 xx xx xx xx xx xx xx xx ........ 
    

    第一個數字是二進制數據的偏移量,每個「xx」是一個十六進制的字節,每個「。」是相應字節的可打印表示(如果它是可打印的,否則定製是打印一個點)。

+0

但我想顯示它在視覺c + +控制(GUI),我該怎麼做? –

+0

表示我想在GUI中顯示的所有ASCII字符。 –

+0

@yogeshpatel您可以將它格式化爲我的答案中的字符串,然後將該字符串中的文本放入文本控件中,就像其他任何文本一樣。爲此,您必須閱讀例如['CStatic'](http://msdn.microsoft.com/en-us/library/t98kd6f7(v = vs.100).aspx)或['CEdit'](http://msdn.microsoft.com/如果您使用的是MFC,請使用en-us/library/f7yhsd2b(v = vs.100).aspx)。 –