개발환경: Win7 Home, 한글 OS
VC 6.0은 기본적으로 유니코드를 지원하지 않는다.
하여.. 하기와 같이 유니코드를 사용하고자하는 경우...
작업순서..
1. 메모장에 일본어등을 입력한후 유니코드로 저장한다.
2. OS의 제어판의 언어 -> 고급 탭(관리자 옵션) -> 유니코드를 지원하지 않는 프로그램용 언어
-> 시스템 로캘 변경 (일본어) 후 Rebooting..
3. 프로그램에서 작성된 1)의 file을 loading한다.
이때는 일본어가 Multi byte 표현되기 때문에 하기와 같은 순서를 따른다.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
const int READ_CNT = 200;
CString strbuf;
FILE *fp;
wchar_t buff[READ_CNT]={0,};
char abuff[READ_CNT]="";
fp = _wfopen(CLR_RC_JP_PATH, L"rb, ccs=UNICODE");// 유니코드 바이너리로 파일 오픈.
fgetc(fp); // 2 byte.. reading. to Unicode separator // 최초 2 byte는 해당 file이 유니코드임 알림
fgetc(fp); // 2byte는 삭제..
while(fgetws(buff, READ_CNT, fp) != NULL) // 한줄씩 읽어낸다.
{
int nLen = WideCharToMultiByte(CP_ACP, 0, buff, -1, NULL, 0, NULL, NULL); // CP_ACP/ 949 kor, 932, jp
WideCharToMultiByte(CP_ACP, 0, buff, -1, abuff, nLen, "?", NULL);
strbuf+=abuff;
memset(buff, 0x0, sizeof(buff));
memset(abuff, 0x0, sizeof(abuff));
}
fclose(fp);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
4. VC 6.0에서 유니코드를 지원하게 하는 방법은 VC 6.0 설치시
첨부 파일 참조 할것..
'프로그래밍 > VC++ 개발 코딩' 카테고리의 다른 글
excel 사용하기 [엑셀] (0) | 2014.01.17 |
---|---|
VC 6.0 디버깅시 종료되지 않는 문제.. (Win7 64bit) 사용 (0) | 2014.01.17 |
PostThreadMessage (0) | 2014.01.17 |
VS2010에서 scanf등의 안정성을 위한 warning 무시하기 (0) | 2014.01.17 |
메모리 누수, 0xcdcdcdcd 힙, 스택 메모리 초기 default 값. (0) | 2014.01.17 |