casting에 대한 질문입니다.
글쓴이: zieben / 작성시간: 월, 2004/04/12 - 3:00오후
결국 이틀간 고민을 해봐도 모르고 다시 질문 드립니다.
지금 QChar( 2Byte )를 wchar_t type( 4byte ) 로 캐스팅 하고 싶습니다.
다음과 같은 코드인데요..
QString test = "TEST"; wchar_t* temp = (wchar_t*)(test.unicode());
여기서 unicode()함수는 QString class에서 지원하는 함수로서 QString을 QChar로 바꿔주는 함수입니다.
QChar는 2byte로 되어있는 마치 char와 같은 역활을 수행하는 class이구요.
이제 질문입니다. 보시는바와 같이 w_char* 에다가 QChar*로 된 문자열을 w_char*로 캐스팅 해서 집어넣는 것입니다.
지금 문제가 되는것은 아무래도 2byte인 QChar를 4byte인 wchar_t로 캐스팅 하다보니 2byte의 문자열들이 wchar_t* 의 앞부분에 몰려서 저장이 되고 w_char_t*의 나머지 부분에 쓰레기들이 남아있는 것 같습니다.
다음과 같이도 해봤습니다.
QString test = "TEST"; QChar* tempName = test.unicode(); wchar_t* varName = new wchar_t[test.length()] for( uint i = 0; i < test.length(); i++) { varName[i] = (wchar_t)tempName[i]; }
이렇게 하니 첫번쨰 문자만 들어가고 나머지는 않들어가더군요.
도대체 어떻게 해야할지 막막합니다.
조언 부탁드립니다.
Forums:
댓글 달기