내 과제에 간단한 UTF-8 디코더를 쓰려고합니다. 나는 C++에서 상당히 새롭다. ...C++의 ifstream 위치
나는 인코딩이 유효한지 아닌지를 결정해야하고, 두 경우 모두 UTF-8 문자의 값을 16 진수로 출력해야한다. 첫 번째 바이트를 읽고이 첫 번째 바이트를 사용하여이 UTF8 문자의 바이트 수를 확인한다고 가정 해보십시오. 문제는 첫 번째 바이트를 읽은 후 ifstream 위치를 1 바이트 뒤로 설정하고 전체 UTF-8 문자를 읽는 데 문제가 있다는 것입니다. seekg() 및 putback()을 시도했지만 항상 테스트 데이터가 아닌 버스 오류 또는 이상한 출력을 얻습니다. 도와주세요, 고마워요.
비록 첫 번째 바이트에 peek()을 사용할 수 있지만 인코딩이 유효한지 여부를 결정하기 위해 다음 바이트를 읽어야합니다. 스트림 위치를 다시 설정하는 문제는 여전히 있습니다.
그것은 당신이지고있는 오류를 보여주는 코드의 작은 조각을 게시 도움이 될 수 있습니다. –