본문 바로가기
C++ 200제/코딩 IT 정보

MFC BYTE[] to CString - C++ 바이트 배열 문자열 변환

by vicddory 2019. 9. 13.

MFC 이용하여 BYTE[] 배열을 CString 문자열로 변환하는 예제입니다.

3가지 예제를 소개할텐데, 하나씩 살펴 보겠습니다. 우선, 아래 예시를 보죠.


1
2
3
4
BYTE tmp[4= { 0x010x020x030x04 };
 
CString text;
text.Format("%4.4s", tmp);
cs


1번 라인에서 BYTE 배열을 초기화하고, 

3번 라인에서 CString 변수를 선언합니다.

4번 라인에서 %4.4s 형태로 포맷을 받아 바이트 배열을 문자열로 변환합니다.


아니면 CString 생성자를 통해 변환할 수도 있습니다.


1
2
3
4
5
6
7
BYTE x[4];
x[0= 'A'
x[1= 0
x[2= 'B'
x[3= 1
 
CString str((LPCSTR) &x, sizeof(x));
cs


Long Pointer Const 형태로 변환하네요. 음 ... 


마지막은 소스가 길어서 개인적으로 안 좋아하는 형태입니다.


1
2
3
4
5
6
7
8
9
10
11
12
BYTE tmp[4= { 0x010x020x030x04 };
 
CString str = TEXT("");
CString s;
 
for(int i = 0; i < 4; i++)
{
    str.Format(L"%C", x[i]);
    s += str;
}
    
AfxMessageBox(s);
cs


for문을 돌린다는 자체가 썩 마음에 들지 않는군요.


이중에서 마음에 드는 소스를 골라서 사용하시면 되겠습니다. MFC BYTE[] to CString - 바이트 배열 문자열 변환 글은 여기서 마칩니다. c++에서 string으로 테스트 해봤는데 일단 잘 됩니다.



아래 MFC 관련 글도 추가로 읽어보세요.


관련 글

MFC 코딩 가이드 주의점 7개, 꼭 알아보세요

MFC, 파일 크기 알아보는 함수 StrFormatByteSize()

[MFC강좌] 폴더 파일 경로 1. PathFileExists 등 12개 함수

TCHAR -> string 변환, C++ 문자열 자료형 컨버팅 방법

MFC, CString to Char* (문자열 변환, LPSTR, LPCTSTR)

MFC 대문자 변환, 문자열 CString을 대소문자로 변환


댓글