다음을 통해 공유


_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 (&ltime);
       _gmtime64_s(&thetime, &ltime);

       // %#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 (&ltime);
       _gmtime64_s(&thetime, &ltime);

       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 클래스

참고 항목

참조

로캘 이름, 언어 및 국가/지역 문자열

언어 문자열

국가/지역 문자열

_free_locale

_configthreadlocale

setlocale

로캘

localeconv

_mbclen, mblen, _mblen_l

strlen, strlen_l, wcslen, wcslen_l, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l

mbstowcs, _mbstowcs_l

mbtowc, _mbtowc_l

_setmbcp

setlocale을 _wsetlocale

strcoll 함수

strftime, wcsftime, _strftime_l, _wcsftime_l

strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l

wcstombs, _wcstombs_l

wctomb, _wctomb_l