char
#include <stdio.h>
int main()
{
char ch = 'ㄱ';
printf("%c\n", ch);
return 0;
}
출력
?
한글 한 문자는 2바이트 영어 한 문자는 1바이트 영어는 저장하지만 한글은 저장하지 못한다.
1바이트 크기인 char 로는 한글에 있는 모든 문자를 표현하지 못한다.
char 이용해서 한글을 출력하려면 [] 배열이 필요하다
wchar_t
#include <stdio.h>
#include <wchar.h>
int main()
{
wchar_t ch = L'ㄱ';
wprintf(L"%c\n", ch);
return 0;
}
출력
?
wchar.h 헤더 파일에 선언
wchar_t 형 문자 사용시 대문자 L과 함께 사용 (예: L’한’)
wchar_t 형식 문자열 사용시 대문자 L과 함께 문자열 사용 (예: L”한글”)
wchar_t 를 출력하기위해서는 wprintf 사용
>> ? 또는 이상한 문자 가 출력됨
locale.h 파일을 포함하고 setlocale 함수를 호출하여 지역을 지정
setlocale 함수를 호출하여 지역을 지정
setlocale(LC_ALL, "")
setlocale(LC_ALL, "Korean")을 해 주어도 동작하지만 컴퓨터의 시스템 지역 설정 setlocale(LC_ALL, "")를 사용
#include <stdio.h>
#include <wchar.h>
#include <locale.h>
int main()
{
setlocale(LC_ALL, "");
wchar_t ch = L'ㄱ';
wprintf(L"%c\n", ch);
return 0;
}
출력
ㄱ
2022.09.27 - [문제 연습/C] - C 한글 한 글자 합쳐서 이름 만들기 (파일 제어 프로그램)
C 한글 한 글자 합쳐서 이름 만들기 (파일 제어 프로그램)
----------------------------- 파일 제어 프로그램 v1.1 ----------------------------- 1. 이름 생성하여 파일에 저장하기 2. 파일에서 이름 읽어오기 3. 프로그램 종료 ----------------------------- 메뉴..
hickee.tistory.com
'C > C' 카테고리의 다른 글
포인터 pointer 1 - & 과 역 참조 (0) | 2022.10.01 |
---|---|
static (0) | 2022.09.29 |
scanf() C4996 오류 이유, 해결 (0) | 2022.09.26 |
묵시적 형 변환, 명시적 형 변환 (0) | 2022.09.25 |
연산자 01 (0) | 2022.09.22 |