C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[17331] Re:허접질문... char*를 wchar_t*로 형변환...
유영인 [Chris] [cuperido] 2790 읽음    2002-04-09 11:36
제가 알고 있는 방법 몇가지 입니다. 아마 무수히 많은 방법이 있을껍니다. --; 상황이 맞는대로 골라 쓰시면 됩니다.


1) WideString
캐스팅 시키는 함수. 아래 방법으로 하시면, A에 wchat_t 형식으로 Hello가 들어갑니다.

A = WideString("Hello");



2) StringToOleStr
원라는 AnsiString용 함수입니다. char 배열도 사용할 수 있습니다.

A = StringToOleStr("Hello");



3) MultiByteToWideChar
이 방법을 쓰시면 UTF8 형식으로도 변경할 수 있습니다. UniCode를 사용하는 경우, 이 API를 꼭 이용하셔야 합니다. UTF8을 원하시면 CP_ACP 부분을 CP_UTF8 로 바꾸어 주시면 됩니다. 이 방법은 조금 복잡합니다. 먼저 문자열 길이가 얼마나 나오는지 얻어낸 다음, 그 길이만큼 변수를 잡고, 변환을 다시 시켜야 합니다.

String            stString = "HELLO";
int               itWideSize = MultiByteToWideChar(CP_UTF8, 0, stString.c_str(), stString.Length() + 1, NULL, 0);
wchar_t           *wcTarget = new wchar_t[itWideSize];

MultiByteToWideChar(CP_ACP, 0, stString.c_str(), stString.Length() + 1, wcTarget, itWideSize);



심심 님이 쓰신 글 :
: 안녕하세요... 제글에 관심가져 주셔서 감사드리고요...
: 제가 멀 만들고 컴파일을 하는데요... 에러가
: Cannot convert 'char*' to 'wchar_t*'
: 머 이런식으루 나오는데요.. 아무두 제가 지정해준 인자의 형이 함수에서 요구하는 인자의 형과 일치하는 않는다는 것 같더라구요.. 그리고 함수에서 원래 필요로 하는 값은 wchar_t* 형인데 저는 그냥 문자열을 지정해 주었거든요.... char*를 wchar_t*로 형변환은 어떻게 하나요??
: 너무 질문만 만이 해서... 그래도 아시는 분들의 따뜻한 조언 바랍니다... 답변미리 감사드리고요..
: 즐거운 하루되세요... 꾸벅(__)

+ -

관련 글 리스트
17328 허접질문... char*를 wchar_t*로 형변환... 심심 1777 2002/04/09
17331     Re:허접질문... char*를 wchar_t*로 형변환... 유영인 [Chris] 2790 2002/04/09
17334         Re:Re:허접질문... char*를 wchar_t*로 형변환... 민경훈 2103 2002/04/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.