Unicode공부중 한글관련 질문드립니다.
개굴츼
#include stdio.h
#include string.h
#include stdlib.h
#include tchar.h
char* Conv(char* szString, const wchar_t* wzString)
{
int nSize=wcslen(wzString)*2;
char* pTemp=NULL;
pTemp=new char[nSize];
if (pTemp==NULL) return NULL;
wcstombs(pTemp, wzString, nSize);
strcpy(szString, pTemp);
delete [] pTemp;
return szString;
}
int main(void)
{
wchar_t* wsMyString=LMy Name is 샘이;
char szMyString[256];
Conv(szMyString, wsMyString);
printf(%s\n,szMyString);
//wprintf(%s\n,wsMyString);
//printf(%s,tttr);
return 0;
}
유니코드를 공부하고자 위와 같은 소스를 얻었습니다.
유니코드로 된 변수의 내용을 아스키로 바꾸어 출력하는 소스입니다.
일단, 실행결과를 보면
My Name is 袴袴袴袴袴袴袴果羲?
이런식으로 출력됩니다.... 제가 볼때는 한글만 깨지는 듯 합니다.
1. 원래, wcstombs를 사용해서 변환을 하면, 한글이 깨지는 지 궁금합니다.
2. 한글을 Unicode - Ascii코드로 변경하는 방법은 무엇이 있는지요?
3. wprintf(%s\n,wsMyString);
이부분은 컴파일시 에러가 발생사는데, 무엇이 문제인지요?
4. 위 소스 그래도 해서 유닉스(HP-UX)에서도 사용해 볼 생각인데, 문제가 없을지요?
항상 도움 주시는 회원여러분 감사합니다.