본문 바로가기
반응형

CString14

[개발/MFC] LPSTR LPCTSTR 위험 CStrgin -> char 으로 변환 LPSTR LPCTSTR 위험 CStrgin -> char 으로 변환 (LPSTR)(LPCTSTR)csTest은 위험하다.!! -. 유니코드를 고려하지 않았을뿐 아니라 -. 위험하게 내부데이터를 접근합니다. CString strPP; char * chNN = (LPSTR)(LPCSTR)strPP;이렇게 해서 chNN을 CString의 포인터로 가져 옵니다. (LPSTR)(LPCSTR)strPP 이 부분 에서 이유는 MSDN을 찾아보시면 아시겠지만 CString은 const char * 으로 만 받을수 있답니다. 그래서 (LPCTSTR)strPP 이런 형식으로도 사용합니다. 물론 const char *으로 return되겠죠.. 다시 char *을 필요하신다면 char * chNN = (char *)(LPC.. 2016. 2. 4.
[개발/VC++/MFC] CString ↔ char 변환 CString ↔ char 변환 1. CString을 char으로 변환CString csTest;csTest = "I Love You";char* cTest = LPSTR(LPCTSTR(csTest)); 2. char을 CString으로 변환char cTest[10] = "I Love You";CString csTest;csTest.Format("%s", cTest); 출처 : http://blog.daum.net/sjdody/5693925 2016. 2. 4.
[개발/VC++] 유니코드 버전으로 된 프로젝트에서 CString 를 char* 로 바꾸는 방법 [개발/VC++] 유니코드 버전으로 된 프로젝트에서 CString 를 char* 로 바꾸는 방법 MFC에서 유니코드 버전으로 된 프로젝트에서 CString 를 char* 로 바꾸는 방법은 유니코드 상태에서 CString 을 바로 CHAR* 로 바꾸는 것이 안됩니다. W2A 나 A2W 로 코드 변환을 하거나 wsprintf(); 함수를 이용 하면 됩니다. 유니코드는 사용 되는 바이트 수가 2바이트이고 1바이트 문자열로 변환하면 깨져 버리는 문자열 들이 있는데 처리를 해야 합니다. 유니코드를 멀티바이트 코드로 변환 하려면 char Text[80]; wsprintfA(Text, "%S", L"문자열" ); 멀티바이트 코드를 유니코드로 변환 하려면 WCHAR Text[80]; wsprintfW(Text, L"%.. 2015. 10. 6.
[개발/MFC] 문자열 변환 BSTR to CString, CString to BSTR, BSTR to char* [개발/MFC] 문자열 변환 BSTR to CString, CString to BSTR, BSTR to char* VC++ , MFC에서 문자열 변환 정말 까다롭다. 더군다나 유니코드 모드는 조금더 까다로운것 같다. 아래 예제가 도움이 될 것이라 생각된다. // Convert BSTR to CString BSTR bsName; CString csName; USES_CONVERSION; csName = OLE2A(bsName); // Convert CString to BSTR BSTR bsName; CString csName; bsName = csName.SysAllocString(); // create an OLE string BSTR bstr = ::SysAllocString(L"Golf is fun!.. 2012. 4. 3.
[개발/MFC] 스트링 형변환 [개발/MFC] 스트링 형변환 문자관련 함수 MBCS(multi-byte character set) : ASCII 코드 문자열을 쓰는 함수 WCS(wide character string) : 유니코드 문자열을 쓰는 함수 함수 제일 뒤에 ASCII를 나타내는 A와 Wide Character를 나타내는 W를 붙여서 구분함. 예) GetCurrentDirectoryA ... 예외) cout, wcout LPCTSTR(Long Pointer Constant TCHAR String) 여기서 TCHAR 라는 것은 typedef 유니코드가 설정되어 있으면 2바이트로(wchar_t) 아니면 기존 char 방식인 1바이트로(char) 한다는 것을 의미. LPSTR : 8비트 윈도우 캐릭터 스트링(string) 포인터 문.. 2012. 1. 7.
[개발/MFC] 형 변환 [개발/MFC] 형 변환 http://blog.naver.com/PostView.nhn?blogId=wlsdnrtjd&logNo=20141848341&categoryNo=0&parentCategoryNo=17&viewDate=¤tPage=6&postListTopCurrentPage=&isAfterWrite=true&userTopListOpen=true&userTopListCount=10&userTopListManageOpen=false&userTopListCurrentPage=6 ▶ CString -> BYTE BYTE* temp; CString cmd; 에서 cmd 의 값을 temp에 할당하려 할때. temp=new BYTE[255]; temp=(LPBYTE)(LPCSTR)cmd; delet.. 2011. 12. 20.
반응형