VS2008을 쓰니 이제 개발도 유니코드(Unicode)로 해야겠다.
Unicode(
wide character: wchar_t) 체계에서는 모든 문자(영어 혹은 한글)는 2 bytes라는 것만 기억하면 되겠다.
[유니코드 선언과 사용]
1. 문자변수 선언: TCHAR
2. 문자열변수 선언: LPCTSTR, LPTSTR, TCHAR *
3. 문자열 정의: _T("...")
4. 문자열 함수: _tcs...()
- _tcslen: 문자열의 요소갯수를 반환. ANSI인지 Unicode인지 구별하지 않고 사용한 문자열의 요소갯수(byte수가 아님)를 알려줌.
- 요수갯수는 문자열을 구성하는 요소들(char, TCHAR, or wchar_t)이 몇 개인가이고 byte수는 문자열이 차지하는 실제 메모리 공간의 수를 뜻함.
- sizeof(TCHAR): 문자의 byte수를 알려줌. ANSI이면 1 byte, Unicode이면 2 bytes.
- Unicode to MBCS: wcstombs(...) or WideCharToMultiByte(...)
- USES_CONVERSION 선언후 A2W(...) or W2A(...) 사용
[유니코드 함수]
1. 유니코드를 지원하지 않는 함수: 이 함수 입력은 반드시 ASCII가 되어야 함, _T("...")로 정의하면 안 됨
- GetProcAddress()
[참고문헌]