_create_locale, _wcreate_locale
로캘 개체를 만듭니다.
_locale_t _create_locale(
int category,
const char *locale
);
_locale_t _wcreate_locale(
int category,
const wchar_t *locale
);
매개 변수
category
범주입니다.locale
로캘 지정자입니다.
반환 값
유효한 경우 locale 및 category 제공 된, 지정 된 로케일 설정으로 반환 된 _locale_t 개체.프로그램의 현재 로케일 설정이 변경 되지 않습니다.
설명
_create_locale 함수를 사용 하 여 로캘별 버전의 대부분의 CRT 함수를 특정 국가별 설정을 나타내는 개체를 만들 수 (함수는 _l 접미사).동작이 비슷합니다 setlocale지정 된 로캘 설정을 현재 환경에 적용 하는 대신 설정을 저장 됩니다 점을 제외 하 고는 _locale_t 구조체를 반환 합니다._locale_t 구조를 사용 하 여 해제 해야 _free_locale 더 이상 필요할 때.
_wcreate_locale와이드 문자 버전인 _create_locale. locale 한 인수 _wcreate_locale 와이드 문자 문자열입니다._wcreate_locale및 _create_locale 그렇지를 동일 하 게 동작 합니다.
category 인수는 로캘별 동작의 영향을 받는 부분을 지정 합니다.에 사용 되는 플래그 category 및 영향을 받는 프로그램의 일부는 다음 표에 나와 있는 것 처럼 됩니다.
LC_ALL
모든 범주를 아래에 나열 된입니다.LC_COLLATE
The strcoll, _stricoll, wcscoll, _wcsicoll, strxfrm, _strncoll, _strnicoll, _wcsncoll, _wcsnicoll, and wcsxfrm functions.LC_CTYPE
문자 처리 함수 (제외 하 고 isdigit, isxdigit, mbstowcs, 및 mbtowc, 영향을 받은 하지 않은).LC_MONETARY
Monetary 서식 정보가 반환 되는 localeconv 함수입니다.LC_NUMERIC
소수점 문자는 서식이 지정 된 출력 루틴에 대 한 (예: printf), 데이터 변환 루틴 및 비 통화 서식 정보가 반환 localeconv.소수점 문자 외에도 LC_NUMERIC 세트 1000 단위 구분 기호 및 그룹화 제어 반환한 문자열 localeconv.LC_TIME
strftime 및 wcsftime 함수입니다.
확인이 함수는 category 및 locale 매개 변수입니다.범주 매개 변수는 이전 표에 나와 있는 값 중 하나가 아닌 경우 또는 경우 locale 는 NULL, 함수 반환 NULL.
locale 인수는 로케일을 지정 하는 문자열에 대 한 포인터입니다.형식에 대해서는 locale 인수를 참조 하십시오 로캘 이름, 언어 및 국가/지역 문자열.
locale 인수 로캘 이름, 언어 문자열, 언어 문자열 및 국가/지역 코드, 코드 페이지, 또는 언어 문자열, 국가/지역 코드 및 코드 페이지에 걸릴 수 있습니다.사용 가능한 로캘 이름, 언어, 국가/지역 코드와 코드 페이지 집합이 모든 utf-7 및 utf-8 문자 당 2 바이트 이상 필요한 코드 페이지를 제외 하 고 Windows NLS API에서 지원 포함.U t F-8 이나 u t F-7과 같은 코드 페이지를 제공 하는 경우 _create_locale 실패 NULL을 반환 합니다.집합에서 지 원하는 로캘 이름 _create_locale 에 나와 로캘 이름, 언어 및 국가/지역 문자열.집합에서 지 원하는 언어 및 국가/지역 문자열을 _create_locale 에 나열 된 언어 문자열 및 국가/지역 문자열.
로캘 설정에 대 한 자세한 내용은 참조 하십시오 setlocale을 _wsetlocale.
이 함수의 이전 이름을 __create_locale (두 개의 선행 밑줄), 사용 되지 않습니다.
요구 사항
루틴 |
필수 헤더 |
---|---|
_create_locale |
<locale.h> |
_wcreate_locale |
<locale.h> 또는 <wchar.h> |
추가 호환성 정보를 참조 하십시오. 호환성.
예제
// crt_create_locale.c
// Sets the current locale to "de-CH" using the
// setlocale function and demonstrates its effect on the strftime
// function.
#include <stdio.h>
#include <locale.h>
#include <time.h>
int main(void)
{
time_t ltime;
struct tm thetime;
unsigned char str[100];
_locale_t locale;
// Create a locale object representing the German (Switzerland) locale
locale = _create_locale(LC_ALL, "de-CH");
time (<ime);
_gmtime64_s(&thetime, <ime);
// %#x is the long date representation, appropriate to
// the current locale
//
if (!_strftime_l((char *)str, 100, "%#x",
(const struct tm *)&thetime, locale))
printf("_strftime_l failed!\n");
else
printf("In de-CH locale, _strftime_l returns '%s'\n",
str);
_free_locale(locale);
// Create a locale object representing the default C locale
locale = _create_locale(LC_ALL, "C");
time (<ime);
_gmtime64_s(&thetime, <ime);
if (!_strftime_l((char *)str, 100, "%#x",
(const struct tm *)&thetime, locale))
printf("_strftime_l failed!\n");
else
printf("In 'C' locale, _strftime_l returns '%s'\n",
str);
_free_locale(locale);
}
샘플 출력
In de-CH locale, _strftime_l returns 'Samstag, 9. Februar 2002'
In 'C' locale, _strftime_l returns 'Saturday, February 09, 2002'
해당 .NET Framework 항목
System::Globalization::CultureInfo 클래스
참고 항목
참조
strlen, strlen_l, wcslen, wcslen_l, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l
strftime, wcsftime, _strftime_l, _wcsftime_l