[t:/]$ 지식_

MFC 문자열

2008/10/14
L"문자열" == 유니코드

_T(""), TEXT("") == t_char

TCHAR == t_char    // 컴파일 타임에... 바이트 결정
WCHAR == w_char // 와이드..

LP = long pointer

STR = string

C = constant

T = t_char

W = w_char

LPSTR == char *
LPCSTR == const char *
LPCTSTR == const t_char *

LPWSTR == w_char *
LPCWSTR == const w_char *

(LPSTR)(LPCTSTR) == (char *)(const char *)

CString ttt;

(LPCTSTR)ttt == ttt 안의 const char * 버퍼 위치  (연산자 오버로딩)
(LPSTR)(LPCTSTR)ttt == ttt 안의 내용물을 char * 형으로 사용 

ttt.GetBuffer(ttt.GetLength()) == LPTSTR 버퍼 위치

C 프로그래머들은 "어쩌다보니" const char *와 char *를 구분하지 않고 쓰는 경우가 많다.

나도 이 구닥다리 버릇 고쳐야 되는데..

char pO[256];

CString m_ctrlUpListFile;

wchar_t *tO = m_ctrlUpListFile.GetBuffer(0);
WideCharToMultiByte(CP_ACP, 0, tO, -1, pO, 128, NULL, NULL); 
m_ctrlUpListFile.ReleaseBuffer();








[t:/] is not "technology - root". dawnsea, rss