간단한 이야기 같으나 멋모르고 달려들다간 간단하지 않다는 걸 깨닫게 된다는게 문제.
CString msg = _T("");
msg += "::_TrackMouseEvent()가 WM_MOUSELEAVE 메시지를 발생 시켰군";
msg += "\n현재의 클라이언트 뷰의 자식 윈도우의 영역을 빠져~~~ 나갈 때~~ 발생시키는 메시지이다.";
//wcout << (const wchar_t*)msg << endl; //이건 띄워쓰기 뒷 부분은 안 나옴
cout << (CString)msg << endl;
위의 코드를 실행하면 cout을 출력하는 부분에서 msg에 대한 주소 값만 달랑 출력하고 끝난다.
0078F488
wcout << (const wchar_t*)msg << endl
이 방법을 사용해 보면 문자열 내용의 첫 번째 띄워쓰기 뒷 부분은 또 나오질 않는다.
해법은
프로젝트명 - 마우스 우 클릭 - Properties - Configuration Property -
General - Character set을 Multi-Byte character set으로 설정해 줘야 가능하다.
이렇게 설정하고 나면 cout 대신에 printf()를 이용해도 된다.
참고로 printf()와 cout은 전자가 속도에서 훨씬 빠르다는 것.
printf("%s", msg); //가능
댓글 없음:
댓글 쓰기