메뉴 건너뛰기

OBG

Programming

MoA
조회 수 1331 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
2005로 짜다보니 유니코드땜에 골치 아픈게 많았습니다
골치 아프다기 보다는 실력이 미흡해서 생기는 문제들이지만.. --;
한창 unsigned char로 저장된 데이터를 유니코드 CString으로 가져올때 한글만 깨지는 문제때문에 골머리를 섞이다가..
데브피아에서 어떤 분의 도움을 받아 간편한 string 변환 매크로를 알게 되었습니다.
해당 매크로는 USES_CONVERSION 라는 매크로입니다.
이 매크로는 ANSI와 UNICODE를 컨버젼 해줍니다.

매크로
 인자 결과
 A2CW  (LPCSTR)  (LPCWSTR)
 A2W  (LPCSTR)  (LPWSTR)
 W2CA  (LPCWSTR)  (LPCSTR)
 W2A (LPCWSTR) (LPSTR)
 T2COLE (LPCTSTR)(LPCOLESTR) 
 T2OLE (LPCTSTR) (LPOLESTR)
 OLE2CT (LPCOLESTR) (LPCTSTR)
 OLE2T (LPCOLESTR) (LPCSTR)

사용방법은
#include <afxconv.h> 혹은, #include <atlconv.h>로 선언해주시고
USES_CONVERSION; //이 매크로는 변환과정이 있는 함수내에서만 동작하고 자동 제거되는것 같습니다.
CString strTemp;
strTemp = A2W((char*)ucData);
이런식으로 바꾸어 주시면 됩니다.
반대로 유니코드 CString -> unsigned char로 바꾸어 주실때는
W2A()를 사용해 주시면 됩니다.

MSDN 참고 : - http://msdn2.microsoft.com/en-us/library/87zae4a3.aspx -

다음은 도움을 얻은 곳입니다.
http://blog.empas.com/hoperok/23204795
http://jof4002.net/?Unicode

?

  1. Programming 게시판 관련

  2. 후킹 링크

  3. Sleep() 함수 대신 프로그램 딜레이 시키기 (Wait)

  4. MFC기반의 CSocket 사용 방법과 예제

  5. VC++6.0 에서 VC++ 2005로 변환할 경우 형변환 경고 대응방법

  6. 비베의 MSCOMM.OCX VC++에서 불러쓰기

  7. VC의 소스 파일, sln파일 관리

  8. 비주얼 스튜디오 2005 단축키

  9. 스레드 강좌 + CreateThread() 와 _beginthreadex() 함수의 차이

  10. 스레드(CreateThread), EVENT 동기화

  11. WaitForSingleObject와의 삽질..

  12. 작업자 스레드(Worker Thread) 와 사용자 인터페이스 스레드(User Interface Thread)

  13. Thread와 SendMessage를 통해 DeadLock을 만드는 방법

  14. CreateThread, ExitThread, GetExitCodeThread ...

  15. char*, String, CString

  16. 다른 스레드에서 메인다이얼로그 포인터 받아오기 AfxGetMainWnd()

  17. MFC 클래스 멤버함수 설명서

  18. unsigned char <-> 유니코드(unicode) 및, string 변환 매크로 - USES_CONVERSION

  19. __cdecl , __pascal, __stdcall

  20. HWND와 HINSTANCE

  21. Legacy MFC 어플리케이션을 MFC feature pack으로 포팅

Board Pagination Prev 1 ... 2 3 ... 4 Next
/ 4
위로