저 과제의 유일 문제점을 파악해서 분석하는 것에는 성공했습니다만,
문제의 해결법을 찾지 못하고 있습니다.
혹여나 정확한 지식이 아니더라도, 문제해결의 방향만 제시해주셔도 좋습니다.
STL의 ifstream으로 파일(txt)을 불러오고,
그걸 open으로 열어서 eof를 이용해 하나씩 전진하며
get을 통해 하나씩 전진하는 모든 글자를 string에 저정해버리는 방식을 쓰고 있습니다.
이게 잘되는데 유일한 문제점이, 바로 한글은 1바이트가 아니라 2바이트라서,
character형 변수에 저장이 되지 않는다는 겁니다.
그렇다보니 파일 전체의 크기도 실제와는 오차가 발생해버리고 있습니다.
2바이트인 한글은 character가 아니라 string에 저장해야 하는 듯한데,
get을 통해 하나씩 꺼내면 string 저장은 불가피하고 character 저장만이 가능하겠죠.
그렇다고 get 대신에 한 번에 2바이트인 한글을 빼올 수도 없는 것처럼 보이고, 만일 그게 가능하다면 1바이트인 알파벳이나 숫자를 빼버릴 때 문제가 생길 듯 싶고요.
지금 꺼내려는 값을 분석해서 이놈이 한글인지 아닌지, 1바이트인지 아닌지를 구분해서 다르게 저장하려고 해도 여간 복잡하고요.
네이버에는 답을 올려도 답변이 안 오고요......
혹시 해결방법을 아시는 분 계신가요?
아니면 C++ 정보 교환하는 사이트라도...
Comment ' 14