현재 쓰고 있는 버젼은 비주얼 스튜디오 2010 이다.
프로젝트 속성 중에 문자집합이 있는데,
1. 설정 안함
2. 유니코드(와이드바이트)
3. 멀티바이트
세가지 이다.
유니코드의 경우에는 문자당 2바이트를 차지하고,
멀티바이트의 경우에는 복합적으로 작용하다. 1바이트 또는 2바이트로 저장이 된다.
MessageBox
유니코드 : MessageBoxW
멀티바이트코드 : MessageBoxA
유니코드 : LPCWSTR
멀티바이트코드 : LPCSTR
MessageBoxA(NULL, str, "test", 0); -> 정상
MessageBoxW(NULL, str, L"test", 0); -> 정상
개인적으로 정리를 해보자면, 멀티바이트 코드는 한글과 같은 경우 2바이트를 차지하고, 영어는 1바이트로 처리할 것으로 보이며,
유니코드의 경우에는 2바이트로 처리를 한다.
----------------------------------------------------------------
유니코드를 사용할 때
----------------------------------------------------------------
strlen -> wcslen
strcpy -> wcscpy
strncpy -> wcsncpy
strcat -> wcscat
strncat -> wcsncat
strcmp -> wcscmp
strncmp -> wcsncmp
printf -> wprintf
scanf -> wscanf
fgets -> fgetws
fputs -> fputws
sprintf -> swprintf
strcpy <- _tcscpy -> wcscpy strcpy(a,b); b를 a로 복사
strncpy <- _tcsncpy -> wcsncpy strncpy(a,b,c); b를 a에 복사하되 c만큼만 복사
strlen <- _tcslen -> wcslen strlen(a) a의 길이를 반환
strcat <- _tcscat -> wcscat strcat(a,b); b를 a뒤에 붙여서 a 에 저장한다.
strncat <- _tcsncat -> wcsncat strcat(a,b,c); b를 a뒤에 c만큼 붙여서 a에 저장한다.
'개발 > C++,MFC' 카테고리의 다른 글
윈도우창 띄우기. doModal 과 Create (0) | 2012.12.12 |
---|---|
[MFC, C++] MFC 배경 이미지 관련 (0) | 2012.12.07 |
MFC 소스가 멘붕일 때에 대처 (0) | 2012.12.05 |
에디터 컨트롤 변경불가 상태로 (0) | 2012.11.12 |
[MFC] 오류 종류 (0) | 2012.10.15 |
헤더파일에 변수 선언 하면 ? (0) | 2012.10.12 |
include ? (0) | 2012.10.12 |
[MFC] 주석. 주석해제. 단축키 (0) | 2012.10.12 |