살아가는 이야기
C++에서 UTF-8 문자열 상수(literal) 사용하기 본문
C++에서 UTF-8 문자열이 지원된다는 얘기는 들었지만, 실제로 사용 가능한지는 확인하지 못했었다. 갑자기 궁금하여 사용해 보니 잘 되는 것을 볼 수 있었다. 다만 리터럴 앞에 u8 접두사만 붙여 주면 된다. 아주 간단한 예를 보면 다음과 같다.
#include <iostream>
using namespace std;
int main() {
const char u8s[] = u8"안녕?";
cout << u8s << endl;
return 0;
}
msys2에서 위 코드를 컴파일하여 실행하면 다음과 같은 결과를 얻을 수 있다.
다음 링크에 따르면 C++ 타입 이름이 char8_t로 바뀌었다고 하는데, GCC 버전 9.3까지는 바뀌지 않은 것 같다.
Comments