파일 encoding관계를 좀 잘...???

조회수 434회

안녕하세요. 새해를 축하합니다.

제가 지금 C++에서 cmd명령을 수행하고 그 결과를 파일로 보관하는 소작업을 수행하는데요, 체계마다 그 결과가 다르게 나와서 어떻게 처리해야 할지 잘 모르겠습니다. 이미지

위 화상이 영문체계에서 cmd /u /c "dir D:\" > D:\1.txt한 결과인데 UCS-2LE로 나왔고요 이미지 이는 한글판에서 cmd /u /c "systeminfo" > D:\2.txt한것인데 EUC-KR로 나왔어요.

그런데 이것을 처리하려고 hex로 보니 (1)의것은 unicode로서 1문자가 2byte를 차지하고 (2)의것은 ansi로서 한글만 2byte를 차지합니다.

그러니 이것을 일률적으로 처리하자면 C++코드상에서 어떤식으로 해주어야 하겠는지요....

이것때문에 오래동안 시간을 보냈는데도 아직 해답이 없습니다. 좀 도와주세요.

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • cmd 에서 chcp 치면 뭐라고 나오나요? 엽토군 2020.1.27 10:35
  • (1)에서는 'Active Code Page: 437', (2)에서는 '활성 코드 페이지: 949'로 나옵니다. 알 수 없는 사용자 2020.1.27 12:08
  • 양쪽 모두 chcp 949 명령 실행해서 활성코드페이지를 EUC-KR로 맞춰주면 안되려나요? 엽토군 2020.1.27 21:34
  • 계속되는 관심 감사합니다. 그렇게 하니 됩니다. 하지만 C++코드상에서도 그리 할수 있는지요? 알 수 없는 사용자 2020.1.27 22:53
  • 혹시 북한분은 아시니죠? nowp 2020.1.28 11:58
  • 그럴리가요... 알 수 없는 사용자 2020.1.29 10:09

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)