2013-11-28 205 views
-2

嘿,大家好我與需要檢查一個字符字節的軟件的工作可以說是這樣的:轉換字符串

char id = 0xa2; 

大家都知道這是一個字符十六進制字節,我需要的是一種方式來讀取一個相同的十六進制數字的TXT文件,並與ID進行比較。 正如你可能注意到,當你從文件中讀取你有什麼是一個包含字符串的字符指針讓我們說0xa2我需要一種方法,我可以比較兩個值來檢查它是否是相同的ID顯然我知道其中一個兩個值都轉換爲彼此匹配,則我只是不知道如何做到這一點,我已經嘗試了幾種方法

回答

0

最簡單的是將字符轉換爲字符串。 E,g,

char idStr[5]; 
sprintf(idStr, "0x%02x", (unsigned char)id); 

將idStr與從文件中讀取的字符串進行比較。

情況可能是一個問題,顯然0xA2和0xa2應該比較相等。

+0

感謝@jhon你給了一個不錯的主意,我做到了這樣,然後我比較兩個字符串我創建了一個小功能和PUM工作正常,好東西 – user2948982

0

我可以推薦以下解決方案。我使用的是字符串流,而不是文件流。

std::istringstream is("0xa2"); 

    char id = '\xa2'; 

    int x; 

    is >> std::hex >> x; 

    if (id == static_cast<char>(x)) std::cout << "They are equal each other" << std::endl; 
+0

謝謝兄弟,但我使用普通的C不能C++ – user2948982