본문 바로가기

General/C, C++, C#

[API] 유니코드

C타입 : 유니코드타입

char : TCHAR

char * : LPSTR

const char * : LPCTSTR

 - char를 바로 쓴 코드는 유니코드로 바꿀 때 일일이 소스를 뜯어 고친후 다시 컴파일 해야 하지만

 TCHAR이라는 중간타입을 사용한 소스는 프로젝트 설정에 따라 소스도 같이 바뀌는 효과가 있다.

 문자열이 필요할때도 char *를 쓰기 보다는 LPSTR, TCHAR *를 쓰는 편이 현명하다.

 

C표준함수 : 유니코드 지원함수

strlen : lstrlen

strcpy : lstrcpy:

strcat : lstrcat

strcmp : lstrcmp

sprintf : wsprintf

 - l(엘)자 하나 더 붙었을 뿐이지 운영체제가 제공하는 API 함수이므로 별도 용량 차지x.

 

TCHAR *str="string";     // 이렇게 쓰는것 보다는

THCAR *str=TEXT("string"); // TEXT 매크로 안에 문자열 상수를 쓴다.

원칙적으로 문자열 상수에 이 매크로를 쓰는것이 좋다.

 - TEXT매크로는 유니코드 설정에 따라 문자열 상수의 타입을 변경한다.