프로그래밍/Visual C++

MFC - CString GetBuffer(), ReleaseBuffer() 사용

꾸션 2019. 1. 25. 11:32

아래와 같이 char배열 포인터를 받아서 전화번호 문자열을 복사해주는 함수가 있다고 가정했을 때,

void GetPhoneNumber(char *buf)
{
  strcpy(buf, "010-1234-5678");
}

 

받은 전화번호 데이터를 다시 CString으로 처리해야하는 경우, 보통 아래와 같이 처리를 합니다.

CString str;
TCHAR sz[14] = { 0, };
GetPhoneNumber(sz);
str = sz;

 

이를 CString의 GetBuffer(), GetRelease()함수를 사용하여 아래와 같이 간단하게 처리할 수 있습니다.

CString str;
GetPhoneNumber(str.GetBuffer(14));
str.ReleaseBuffer(); // str 사용...