[C++] C++에서 사용되는 개념 6탄

Patrick!·2022년 9월 1일
0
post-thumbnail

문자와 문자열

문자와 문자열에 대한 C++ 의 사용법

우선 문자는 한글 이외에도 영어, 한자 등 ... 다양하게 존재하지만 그 안에서 단어의 하나하나를 구성하는 요소들을 의미한다.

하지만 문자열은 문자들이 조합된 상태를 열거한 상태를 나타내기에 문자와는 어면히 다른 개념이다.

그럼 이를 C++로 나타내는 방법을 알아보자.

char / wchar_t 을 이용한 방법

char : 알파벳 / 숫자 문자를 나타낸다.
wchar_t : 유니코드 문자를 나타낸다.
(나타내는 문자의 범위 차이만 존재할 뿐이다.)

char ch = 97; 이라 정의하고 이를 cout 를 통해 출력하면

당연한 결과로 97이 출력될 것이라 생각했다.

하지만 a 가 출력이 된다.... 왜??? (그 이유는 ASCII 때문이다..)

ASCII (American Standard Code for Information Interchange)

char ch = 97; 이를 문자로 나타내고 싶다면 ''를 사용하는 것이 좋다.
(그러면 신기하게도 ASCII Code로 변환되지 않는다!!)

자 그럼 문자열도 알아보자!

전 세계 모든 문자에 대해 유일 코드를 부여한 것이 바로 unicode 이다
unicode를 표기방식에는 여러가지가 있는대 대표적으로 UTF8 / UTF16 이 존재한다.

UTF8 / UTF16 둘의 차이는 데이터를 저장하는 용량에 있다.

UTF8
알파벳, 숫자, 1바이트 (ascii와 동일한 번호)
유럽 지역의 문자 2바이트
한글, 한자 등 3바이트

utf 16
알파벳, 숫자, 한글, 한자 등 거의 대부분 문자 2바이트
아주 드물게 고대 문자만 4바이트로 사용된다

여기서 Escape Sequence 표현도 배워두면 유용할 지도?!

Escape Sequence => 표기하기 애매한 애들을 표현
\t = ascii9 = tab
\n = ascii10 = linefeed (한 줄 아래로)
\r = ascii13 = carriagereturn (커서 <<)

char / wchar_t 을 이용한 방법

char str1[] = {'g', 'r', 'e', 'e', 't', '\0'};
char str2[] = "greet";
wchar_t str3[] = L"greet";

간단하게 문자열 만들기 <String.h>

사실 전에 C++를 배울 때, char, wchar_t 이외에도 String을 이용한 방법을 통해 간단하게 문자열을 만들었다.

#include <String.h> 를 선언 후,

#include <iostream>
#include <String.h>

using namespace std;

int main() {
	String str = 'Mangojoa';
    
    cout << str << endl;
}

Java 에서 사용하는 것과 같이 사용하면 된다.
char, wchar_t 와 달리 import 이후, 간단하게 사용하면 된다는 장점이 있다.

profile
C++와 Unreal Engine / C#과 Unity / Katalon Studio를 통한 자동화 테스트 등을 하루하루 공부한 기록

0개의 댓글