Application/MFC
[MFC] 16진수 변환(CString <-> BYTE)
devsalix
2023. 7. 6. 09:58
728x90
CString의 문자열을 16진수로 변환하고자 할 때 사용하는 함수입니다
wcstol 함수이며
사용 방법은 아래와 같습니다
CString strMacAddress = _T("1A2B3C4D");
WCHAR szData[9];
BYTE szValue[4];
wcscpy_s(szData, strData);
szValue[0] = (BYTE)wcstol(((WCHAR *)szData) + 0, NULL, 16);
szValue[1] = (BYTE)wcstol(((WCHAR *)szData) + 2, NULL, 16);
szValue[2] = (BYTE)wcstol(((WCHAR *)szData) + 4, NULL, 16);
szValue[3] = (BYTE)wcstol(((WCHAR *)szData) + 6, NULL, 16);
위와 같이 코드를 작성해 주면 문자열을 16진수로 변경 가능 합니다
반대로 16진수를 문자열로 변경을 원한다면 간단한 Format으로 표현이 가능합니다
CString strValue;
BYTE szValue[2];
szValue[0] = 0x1A;
szValue[1] = 0x2B;
strValue.Format(_T("%02X%02X"), szValue[0], szValue[1]);
위와 같이 코드를 작성하면 1A2B 값이 strValue 문자열에 들어갑니다
제 글이 도움이 되셨다면 댓글 & 공감 부탁드려요 😀
728x90
반응형