검색결과 리스트
글
2. ANSI 문자와 유니코드 문자 그리고 문자열 자료형
Windows C, C++/2. 문자와 문자열로 작업하기
2015. 1. 25. 22:04
char 형은 8 비트 ANSI 문자 표현을 위해 존재.
16비트 유니코드 표현을 위한 wchar_t 자료 형을 built-in 타입으로 사용할 수 있다. ( 과거에는 컴파일러 스위치가 필요했음 /Zc:wchar_t )
wchar_t c = L'A';
대문자 L 이 유니코드 문자열로 다루게끔 해준다.
데이터 섹션에 들어가게 될때 인코딩된다. 아스키문자인 경우 각 문자 사이에 0이 삽입된다.
윈도우는 C 언어의 자료형과, 윈도우 자료형을 구분하기 위해 WinNT.h 에 따로 정의한다.
typedef char CHAR;
typedef wchar_t WCHAR;
//8bit
typedef CHAR *PCHAR;
typedef CHAR *PSTR;
typedef CONST CHAR *PCSTR;
//16bit
typedef WCHAR *PWCHAR;
typedef WCHAR *PWSTR;
typedef CONST WCHAR *PCWSTR;
문자/문자열을 가리키는 포인터에 대해서도 별도로 정의하고 있음.
컴파일시 ANSI 문자나 유니코드를 사용하도록 변경가능하게 전처리기를 이용하여 작성할 수 있다.
#ifdef UNICODE
typedef WCHAR TCHAR, *PTCHAR, PTSTR;
typedef CONST WCHAR *PCTSTR;
#define __TEXT(quote) quote // r_winnt
#else
typedef CHAR TCHAR, *PTCHAR, PTSTR;...
#endif
'Windows C, C++ > 2. 문자와 문자열로 작업하기' 카테고리의 다른 글
3. 윈도우 내의 유니코드 함수와 ANSI 함수 (0) | 2015.01.25 |
---|---|
1. 문자 인코딩 (0) | 2015.01.25 |