작성
·
161
0
c언어로 여러가지 실험을 좀 하고있는데
char a = 'a'
printf("%c", a);하면
a라는 글자가 잘 나오고
char a = '가'; 로 바꾸고 출력하면 '?'라는 글자가 뜨더라구요?
_wsetlocale(LC_ALL,L"korean"); <- 이게맞나 잘 모르겠네요
wchar_t *a = L"가";
wprintf(a); 로해야 '가'라는게 잘뜨는걸 확인했습니다 근데
char a[] = "가나다라마";
printf("%s", a);
이렇게하면 가나다라마가 잘 나와요
여기서 드는의문이 둘다 똑같이 문자저장인데
왜 문자열로하면 유니코드? 이걸 따로 설정을 안해줘도 한글이 잘 나올까요?
답변 1
0
항상 되는게 아니고 현재 설치되어 있는 윈도우가 한글판이라
기본적으로 system_locale이 한국어라 보이는겁니다.
영문판이나 다른 언어로 윈도우를 설치하셨다면 위처럼 해선 안 보입니다.
https://devcheolili.tistory.com/3