한글 c 코딩

babbab의 이미지

한글 한글자만 인쇄하는데

#include <locale.h>
#include <stdio.h>
#include <wchar.h>
 
main(){
	setlocale(LC_CTYPE, "ko");
	wchar_t a = L'한';
	putwchar(a);
 
}
 
test.c:7: warning: multi-character character constant

이게 맞는 코드 인지요?

empty2fill의 이미지

아래 명령어로 소스 파일 인코딩이 어떻게 되어 있는지 확인해 보세요.

# file test.c

소스 파일 인코딩에 따라서 문자 하나라도 멀티 바이트로 인코딩 될 수 있어요.(예 UTF8의 경우)

C에서는 source character set과 execution character set을 구분하고 있다고 하네요.
http://kldp.org/node/61323#comment-266384

관련 쓰레드
유니코드 아직도 헷깔립니다
http://kldp.org/node/61323

——
———
Life is a tragedy when seen in close-up, but a comedy in long-shot. - Chaplin, Charlie -

greatlee의 이미지

완성형 한글 ==> 2byte
유니코드(한글) ==> 3byte

char형에 안들어가요.

ps. 유니코드중에는 4byte짜리도 있슴다.. 한글은 3byte입니다.

babbab의 이미지

이 밑의 코드는 visual c++ express cl.exe코맨드로 컴파일이되고 정상적으로 실행이 되는데요.

#include <locale.h>
#include <stdio.h>
#include <wchar.h>
 
 
main(){
	wchar_t a = L'한';
	setlocale(LC_ALL, "kor");
 
	putwchar(a);
}
cleansugar의 이미지

소스 파일 인코딩이 UTF-8이라서 컴파일러가 인식을 못하는 겁니다.

소스 인코딩을 바꾸거나 컴파일러에 소스 인코딩 옵션을 주면 됩니다.

재벌 2세가 재벌이 될 확률과
금메달리스트 2세가 금메달을 딸 확률이 비슷해지도록
자유오픈소스 대안화폐를 씁시다.

아이디의 아이디어 무한도전
http://blog.aaidee.com

귀태닷컴
http://www.gwitae.com

babbab의 이미지

TCC tiny c compiler를 쓰는데 어떻게 소스 인코딩 옵션을 줄수 있습니까?
그리고 notepad2를 쓰는데 소스 인코딩을 무엇으로 바꾸면 됩니까?

babbab의 이미지

mingw 도 설치 했는데 gcc에서 어떻게 소스 인코딩 옵션을 줄수 있습니까?