DWORD型別與16進製制字串之間的相互轉換

2021-07-04 15:41:42 字數 1198 閱讀 8314

mfc 中輸入32位位址和資料的edit控制項關聯的變數為dword m_addr,m_data,

在控制項中輸入類似「0x4f0c」的位址或資料時,直接利用updatedata(true)不能獲得dword 型別的m_addr,m_data

因此只能使用getdlgitemtext(int nid,cstring &cstr)來獲得相關的cstring型別

1、16進製制的字串轉換為dword型別

dword cconfiguredlg::hexstringtodword(tchar * szbuf)

else if(*szbuf >= 'a' && *szbuf <= 'f')

else if(*szbuf >= 'a' && *szbuf <= 'f')

else if(*szbuf =='x' || *szbuf == 'x')

else

dwvalue <<= 4;

dwvalue |= bvalue;

szbuf ++;

} return dwvalue;

}

2、dword型別轉換為16進製制字串

void cconfiguredlg::dwordtohexstring(dword dwvalue,tchar *szbuf)

if(bvalue < 10)

else

dwvalue <<= 4;

szbuf ++;

} *szbuf = '\0';

}

因為得到的為cstring 型別,需要在cstring 和 tchar *之間進行轉換

1、cstring轉換為tchar *型別

tchar *cconfiguredlg::cstring2tchar(cstring &str)

2、tchar *型別轉化為cstring型別

tchar * szbuf = new tchar[10];

dwordtohexstring(m_readdata,szbuf);

cstring str;

str.format(_t("%s"),szbuf);

字串與十進位制,16進製制轉換

問題1 講乙個十進位制數字的字串表示轉換成對應的整數。舉例 將 1234 轉換成整數1234.c 收藏 將字串s轉換成相應的整數 int atoi char s return n 問題2 將乙個十六進製制數的字串表示形式轉換成對應的整數。所謂的十六進製制數的字串形式是指字串只包含 0 9 或者 a ...

字元與16進製制的轉換 二

c socket傳送十六進製制字串 十六進製制字串與其他型別的轉換 收藏 socket 傳送十六進製制的字串 專案用到 socket tcp ip 傳送 接受 十六進製制的字串,因為c socket 傳送接受的都是byte 位元組陣列 現在記錄tyte 與各資料型別之間的轉換 注 c 的位元組陣列 ...

16進製制與字串轉換

字串為 string 型別並可寫成兩種形式,即用引號引起來和用 引起來。用引號引起來的字串括在雙引號 內 good morning a string literal 並且可以包含包括換碼序列在內的任何字元 string a u0066 n backslash,letter f,new line 注意...