C에서 변수에 한글을 넣으려면 어떻게 해야 하나요?

geneven의 이미지

char a;
하고 a= "가";
이렇게 넣으면 "가"가 출력이 안되거든요?

C에서 한글을 쓰려면 어떻게 해야 하나요?

senux의 이미지

.

wind772의 이미지

한글은 2Byte로 저장되기 때문에,

char a[3] = "가";

또는 포인터로

char *a = "가";

이렇게 해주어야 합니다.

===================================================
중요한건 얼마나 아느냐가 아니라 그것에 대한 열정이다.

zienie의 이미지

처음 변수 선언시에는 위의 님들 말씀처럼...

중간에는

char a[10];
.
.
.
.
.
spritnf ( a, "가나다..." );

※ strcpy 보다는 sprintf 를 권장합니다. ^^

##########################################################
넘어지는건 아직 괜찮다.
하지만 넘어질때마다 무언가를 주워서 일어나자.

cdpark의 이미지

zienie wrote:
※ strcpy 보다는 sprintf 를 권장합니다. ^^

이유는요? sprintf는 strcpy에 비해 훨씬 무거운데요?

버려진의 이미지

버퍼 오버플로우..
strncpy() 도 확인해보세요

beta의 이미지

cdpark wrote:
zienie wrote:
※ strcpy 보다는 sprintf 를 권장합니다. ^^

이유는요? sprintf는 strcpy에 비해 훨씬 무거운데요?

아마도 stack buffer overflow 때문에 그렇게 말씀하지지 않았나 생각되네요.
혹시나 snprintf 를 오타내신거 아니신지...
요지는 길이체크를 하라는 말씀이시죠?

발 담갔다. 이제 익숙해 지는길만이..