LC_ALL, LC_COLLATE, LC_CTYPE, LC_MONETARY, LC_NUMERIC, LC_TIME
| Localization library | |||||||||||||||||||||||||
| Regular expressions library (C++11) | |||||||||||||||||||||||||
| Formatting library (C++20) | |||||||||||||||||||||||||
| Null-terminated sequence utilities | |||||||||||||||||||||||||
| Byte strings | |||||||||||||||||||||||||
| Multibyte strings | |||||||||||||||||||||||||
| Wide strings | |||||||||||||||||||||||||
| Primitive numeric conversions | |||||||||||||||||||||||||
|
|||||||||||||||||||||||||
| Text encoding identifications | |||||||||||||||||||||||||
|
|||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
헤더 파일에 정의됨
<clocale>
|
||
|
#define LC_ALL /* 구현 정의 */
|
||
|
#define LC_COLLATE /* 구현 정의 */
|
||
|
#define LC_CTYPE /* 구현 정의 */
|
||
|
#define LC_MONETARY /* 구현 정의 */
|
||
|
#define LC_NUMERIC /* 구현 정의 */
|
||
|
#define LC_TIME /* 구현 정의 */
|
||
위의 각 매크로 상수는 std::setlocale 의 첫 번째 인수로 사용하기에 적합한 서로 다른 값을 가진 정수 상수 표현식으로 확장됩니다.
| 상수 | 설명 |
LC_ALL
|
전체 C 로케일을 선택 |
LC_COLLATE
|
C 로케일의 문자열 정렬 카테고리를 선택 |
LC_CTYPE
|
C 로케일의 문자 분류 카테고리를 선택 |
LC_MONETARY
|
C 로케일의 통화 형식 카테고리를 선택 |
LC_NUMERIC
|
C 로케일의 숫자 형식 카테고리를 선택 |
LC_TIME
|
C 로케일의 시간 형식 카테고리를 선택 |
추가 매크로 상수들로, 이름이
LC_
로 시작하고 그 뒤에 적어도 하나의 대문자가 오는 것들이
<clocale>
에 정의되어 있을 수 있습니다. 예를 들어, POSIX 명세는
LC_MESSAGES
(이는
std::perror
와
std::strerror
를 제어함)를 요구하며, ISO/IEC 30112:2014 (
2014 draft
)는 추가로
LC_IDENTIFICATION
,
LC_XLITERATE
,
LC_NAME
,
LC_ADDRESS
,
LC_TELEPHONE
,
LC_PAPER
,
LC_MEASUREMENT
, 그리고
LC_KEYBOARD
를 정의하며, 이들은 GNU C 라이브러리에서 지원됩니다(
LC_XLITERATE
는 제외).
예제
#include <clocale> #include <cstdio> #include <ctime> #include <cwchar> int main() { // C 로케일은 UTF-8 지원 영어로 설정됩니다: std::setlocale(LC_ALL, "en_US.UTF-8"); // 소수점은 독일식으로 표시됩니다: std::setlocale(LC_NUMERIC, "de_DE.UTF-8"); // 날짜/시간 형식은 일본식으로 표시됩니다: std::setlocale(LC_TIME, "ja_JP.UTF-8"); wchar_t str[100]; std::time_t t = std::time(nullptr); std::wcsftime(str, 100, L"%A %c", std::localtime(&t)); std::wprintf(L"Number: %.2f\nDate: %Ls\n", 3.14, str); }
출력:
Number: 3,14 Date: 日曜日 2022年11月06日 17時55分10秒
참고 항목
|
현재 C 로케일을 가져오고 설정함
(함수) |
|
|
문화적 차이를 캡슐화하는 다형성 패싯들의 집합
(클래스) |
|
|
C 문서
for
locale categories
|
|