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

LPSTR, LPCSTR, LPTSTR, LPCTSTR , LPWSTR, LPCWSTR 설명

by vicddory 2018. 1. 18.

LPSTR, LPCSTR, LPTSTR, LPCTSTR , LPWSTR, LPCWSTR 설명


간단하게 MFC 문자열인 LPSTR, LPCSTR, LPTSTR, LPCTSTR , LPWSTR, LPCWSTR이 무엇인지 설명합니다. 먼저, 멀티바이트와 유니코드의 차이점 부터 간단히 살펴보죠.


Multibyte : char (영문자에 1byte, " "로 사용)

Unicode : w_char, wide char형으로 type casting (영문자에 2byte, L""로 사용)


그리고 LP와 C가 무엇인지도 살펴보죠.


LP : long pointer 16bit (Net에선 64bit pointer, VC++6.0에선 32bit pointer)

C : Constant (상수를 의미)


문자열은 String 자료형과 char의 모음으로 구분지을 수 있습니다.


MFC 문자열[LPSTR, LPCSTR, LPTSTR, LPCTSTR , LPWSTR, LPCWSTR 설명]


String (STR) 자료형


LPSTR (유니코드 미지원, 1byte)

 = long pointer string

 = char*


LPCSTR (유니코드 미지원, 1byte)

 = long pointer constant string

 = const char*


LPCTSTR (유니코드 지원, 2byte)

 = long pointer constant t_string

 = const tchar*


Wide char (unicode, 2byte(char은 1byte))


LPWSTR

 = long pointer wide string

 = w_char * (MBCS, Unicode 모두에서 Unicode)


LPCWSTR

 = long pointer constant wide string

 = const w_char *


t_char

 = 컴파일러는 MBCS환경이면 char형, unicode 환경이면 w_char형으로 type casting


LPSTR, LPCSTR, LPTSTR, LPCTSTR , LPWSTR, LPCWSTR 설명

댓글