MFC에서 CString 문자열을 cout을 통해서 콘솔 창에 출력하는 방법
간단한 이야기 같으나 멋모르고 달려들다간 간단하지 않다는 걸 깨닫게 된다는게 문제.
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); //가능
'MFC' 카테고리의 다른 글
Microsoft 심볼 파일(Symbol file) .PDB 다운로드 및 설치하기 (0) | 2018.03.23 |
---|---|
MFC에서 두 개의 문자열 합치기 (0) | 2018.02.22 |
Visual Studio 2010의 Dark color theme 적용하기 (0) | 2018.02.20 |
MFC에서 문자열 합치기 (0) | 2017.12.05 |
MFC 개발시 콘솔창(DOS 창)에 로그 출력하기. (0) | 2017.07.19 |