http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=50&MAEULNO=20&no=946896&ref=946896&page=1
안녕하세요 . cout , wcout을 사용해서 담겨있는 값을 출력해보려고 합니다.
cstring의 경우 wcout으로 출력을 해야 한다고 하더라고요...;
전에는 그래서 wcout으로 하고.
#include <locale> //wcout 유니코드 한글 출력
//wcout 유니코드 한글 출력
#ifdef _UNICODE
#define tcout wcout
#else
#define tcout cout
#endif
이런거.. 추가해서 한글 출력을 했었습니다.
출력할 때도
wcout << "strFolderItem => "<< (LPCTSTR)strFolderItem << endl;
이런 식으로 했습니다.
그런데 이번에 한글출력이 또 안되길래 같은 방법으로 했는데
16진수?같이 생긴 값만 출력이 됩니다.
소스를 보여드리자면
const char * IMAGE_DIR = "C:/Users/h/Desktop/오목눈이";
...
Recurse((LPCTSTR)IMAGE_DIR);
...
void Recurse(LPCTSTR pstr){
cout << "1.pstr => "<< pstr<< endl;
CString strWildcard(pstr);
cout << "2.CString strWildcard(pstr) => "<< strWildcard << endl;
이런식으로 되어 있고요 . 경로를 출력해보려고 하는데
00B181A0 이렇게 콘솔창에 보입니다.
한글이 안나오는 이유는 무엇이고
어떻게 수정해야 하나요?
답변 부탁드리겠습니다.
일단 cout/wcout 과 CString 은 호환이 되지 않기 때문에 LPCTSTR 로 타입 캐스팅해서 출력해야 하는건 맞구요,
한글이 출력되지 않는것은 로케일 때문인듯 하네요.
출력하기 전에 아래 코드 한번 호출해보세요.
std::locale::global(std::locale("kor"));
답변감사합니다.
std::locale::global(std::locale("kor"));
wcout.imbue(locale("kor")); //wcout 유니코드 한글 출력
다 안되네요
두 개의 소스를 합치는 중인데요 (vs2010에서)
각각을 실행했을 때는 출력이 잘 됩니다..
제가 어떤 걸 보여드리면 이 질문에 대한 다른 답변을 받을 수 있을까요,?
반응형
'나의질문답' 카테고리의 다른 글
mysql update질문있습니다. (0) | 2014.12.10 |
---|---|
이미지 파일 경로를 읽어 올 때 뒤에 thumbs.db라는게 생깁니다. (0) | 2014.12.09 |
하위폴더 검색시 파일명이 출력됐으면 합니다. (0) | 2014.11.25 |
push_back에 빨간줄 어떻게 없애나요? (0) | 2014.11.20 |
안드로이드 내장버튼 제어 ? 질문있습니다. (0) | 2014.11.17 |