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