본문 바로가기
C/개념, 이해

[C/개념, 이해]char , wchar_t C언어

by starfish22 2021. 11. 19.
728x90

▶char : 1바이트 (8비트) 정수형 처리 변수

(signed) char : -128~127

unsigned char : 0~255

▶wchar_t : 2바이트 와이드 문자(wide character)를 저장하기 위한 자료형 변수

                (유니코드를 저장할 때 유용)

wchar_t : 0~65,535

 

▶선언

char a;

wchar_t a;

 

char *a;

wchar_t *a;

 

char a = 'a';

wchar_t a = L'a';

L을 붙여줘야됨

 

char a[10] = "abcd";

wchar_t a[10] = L"abcd";

코드영역 (디스크(ROM) 읽기전용) 에 있는 "abcd" 문자열을 a에 복사

 

const char *a = "abcd";

const wchar_t *a = L"abcd";

코드영역 (디스크(ROM) 읽기전용) 에 있는 주소를 가리키는 포인터이기 때문에 const 로 수정할 수 없게 함

 

▶wchar_t 사용법

함수 앞에 w, 쌍따옴표 앞에 L을 붙여 사용해야함

wscanf(L"%s", a);

wprintf(L"%s", a);

 

wcs 를 사용하기 위해 wchar 헤더를 선언

#include <wchar.h>

 

문자열 처리 함수는 str 대신 wcs 를 붙여 사용해야함

wprintf(L"%d", wcslen(a));

wcscpy(a, L"abc");

 

한글을 사용하려면 locale 헤더를 선언하여 지역을 한국으로 설정해야됨

#include <locale.h>

int main()
{
    _wsetlocale(LC_ALL, L"Korean");//지역을 한국으로 설정
    /*   */
    return 0;
}
728x90

'C > 개념, 이해' 카테고리의 다른 글

함수 포인터 C언어  (0) 2021.11.21
const 포인터 C언어  (0) 2021.11.18
volatile 변수 C언어  (0) 2021.11.18
비트연산자와 사용예시 C언어  (0) 2021.11.18

댓글