utf16으로 저장된 문서를 fgetc로 읽어내지 못하나요?
글쓴이: dltkddyd / 작성시간: 금, 2013/06/14 - 7:40오후
struct USI {
unsigned char front:8;
unsigned char backend:8;
};
union ATOW {
USI w_ascii;
wchar_t wch;
};
int main() {
setlocale(LC_ALL, "korean");//리눅스에서는 setlocale(LC_ALL,"ko_KR.UTF-8");
FILE* fp=fopen("hello.html","r");
char ch;
ATOW atowch;
unsigned cnt=0;
while( (ch=fgetc(fp))!=EOF ) {
if(cnt%2==0) {
atowch.w_ascii.front=ch;
}
if(cnt%2==1) {
atowch.w_ascii.backend=ch;
wprintf(L"%c",atowch.wch);
}
//printf("%c",ch);
//opbitwithand(ch);
cnt++;
}
printf("%u\n",cnt);
}위와 같이 hello.html 문서를 열었습니다. 그리고 저장된 내용은
금
한 글자입니다. 그리고 이 문서가 저장된 문자코드는 utf16(유니코드)입니다.
fgetc 함수가 '금'이라는 문자를 제대로 읽어들이지 못하네요.
Forums:


스트림으로 해봐야 겠네요.
와이드 스트림으로 해보면 될까요?
본인 맞습니다.
인증샷
우헤헤헤... 로 대신합니다.
댓글 달기