2012-08-01 3 views
0

내 Windows 응용 프로그램은 _wpopen을 사용하여 시스템 명령을 호출합니다. 이 명령은 fgetws를 사용하여 wchar_t의 버퍼로 읽으려고하는 UTF8 응답을 생성합니다. 문제는 내 버퍼의 결과가 올바르지 않다는 것입니다. 내 버퍼에 12자를 포함 할 수 있으므로 문자 너비에 문제가있을 수 있습니다. UTF8에는 4 개만 포함되어야합니다. Microsoft Visual Studio 2010을 사용합니다.C++에서 시스템에서 UTF8 읽기 Windows

시스템 명령이 올바르게 출력되는지 확인했습니다. 따라서 인코딩을 엉망으로 만드는 읽기 작업입니다. 무엇을해야합니까? 고맙습니다!

답변

0

fgetws function은 파일을 텍스트 또는 이진 모드로 열 었는지에 따라 입력이 MBCS 또는 UTF-16이 될 것으로 예상합니다. UTF-8을 처리하지 않습니다.

대신 fgets를 사용하고 UTF-8을 사용하려는 인코딩으로 명시 적으로 변환하십시오.