strcmp 함수 써서 영어비교는 잘 되었는데 한글 비교가 안되길래
wchar.h 헤더랑 locale.h 헤더 불러와서 wcscmp 함수로 비교하면
된다는 것까지 검색해서 한번 짜봤는데, 이상하게 계속 일치하지
않는다고 하길래 입력한 문자열이 어떻게 저장되어 있나 궁금해서
내가 입력한 것과 정답을 출력하게 바꿔서 보는데 출력이 이상하게 됨.
wcscmp 써도 영어는 잘 비교되는데, 뭐가 문제일까?
vscode, vs2019 전부 한글입력한거 제대로 출력이 안됨.
코드 URL : https://colorscripter.com/s/k48Hsga
출력 스크린샷 :
(한글)
(영어)
코드 스크린샷 :
-------------------------------------------------------------
수정 사항
-------------------------------------------------------------
wprintf에서 ls로 출력해도 안됨.
[^\n] 이게 뭐야 자바스크립트 하냐?
아 그건, 정답이 보통 두단어나 세단어인 경우도 있으니까, 씌어쓰기까지 받아야 되기 때문에 엔터치키 전의 모든 글자를 받는거로 처리한거임
%ls로 출력해보셈
해봤는데 안되네...
https://prnt.sc/sjd2n9
이딴거로 시간낭비하는 니 인생이 레전드
난 이 코드로 해봐도 잘 되는데?
근데 굳이 유니코드로 해야함?
strcmp 로 한글 비교하면 비교가 안되기 때문에 정답인지 아닌지 체크를 못해가지고.. 그래서 wcscmp를 써야 하는데 이걸 쓰려면 locale을 유니코드로 써야 한다고 하길래
비교가 왜 안됨? 잘 되는데
너 말에서 힌트를 얻어 검색해 보다가 tchar라는걸 알게 되었고 이거로 하니까 잘 되네. 어쨌든 ㄳㄳ
그냥 char로 해도 됨 tchar가 애초에 전처리기로 결정되는 타입이라