wstring을 string으로 변환 시, null 문자 추가되는 현상 확인.

 

원래 문자열

<string> 14글자

<wstring> 14글자

 

변환 문자열

<wstring>

변환방법 1.

string str1; wstring wstr1;

wstr1.assign(str1.begin(), str1.end());

 

변환방법 2.

string str1; wstring wstr1;

wstr1 = CT2CA(str1.c_str());

 

상기 문제는 변환방법 1일때 발생함.

변환방법 1로 처리 시, 문자열 마지막에 null 발생

 

변환방법 2로 처리 시, 문자열 마지막 null 없음

저 문자열 마지막에 들어있는 '0'으로 표시되는 값은 아스키코드표 10진수 null인거 같은데

왜 들어가는지 알 수가 없음.

end()에서 -1을 해주면 되기는 하는데... 왠지 꼼수같아서 쓰기 싫음. =ㅅ=

 

결론.

wstring -> string 변환 할때는 CT2CA를 쓰자.

UNICODE => ANSI : CT2CA( [UNICODE 문자열] )

 

끝.

Posted by 싸이on
,