Share via


strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l

로캘 관련 정보를 기준으로 문자열을 변환 합니다.

size_t strxfrm(
   char *strDest,
   const char *strSource,
   size_t count 
);
size_t wcsxfrm(
   wchar_t *strDest,
   const wchar_t *strSource,
   size_t count 
);
size_t _strxfrm_l(
   char *strDest,
   const char *strSource,
   size_t count,
   _locale_t locale
);
size_t wcsxfrm_l(
   wchar_t *strDest,
   const wchar_t *strSource,
   size_t count,
   _locale_t locale
);

매개 변수

  • strDest
    대상 문자열입니다.

  • strSource
    원본 문자열입니다.

  • count
    최대 문자에 넣으려면 strDest*.*

  • locale
    사용 하는 로캘.

반환 값

종료 null 문자를 계산 하 여 변환 된 문자열의 길이 반환 합니다.반환 값 보다 크거나 같은지 경우 count, 해당 콘텐츠를 strDest 예측할 수 없습니다.각 함수에서 오류를 설정 하는 errno 를 반환 하 고 INT_MAX.잘못 된 문자에 대 한 errno 로 설정 된 EILSEQ.

설명

strxfrm 함수 포인터가 가리키는 문자열 변환 strSource 형식의 새 파일에 저장 된 양식 한 부씩 strDest.두 개 이상의 count null 문자를 포함 하 여 문자를 변환 하 고 결과 문자열에 배치 합니다.해당 로케일을 사용 하 여 변환을 구성 되어 LC_COLLATE 범주 설정 합니다.에 대 한 자세한 내용은 LC_COLLATE를 참조 하십시오 setlocale.strxfrm현재 로캘을 로캘 종속 동작을 사용합니다. _strxfrm_l현재 로캘 대신 전달 된 로캘을 사용 하는 점을 제외 하 고 동일 합니다.자세한 내용은 로캘를 참조하십시오.

변환에 대 한 호출 후 strcmp 와 동일한 호출의 결과 두 개의 변환 된 문자열을 얻을 수 strcoll 두 원본 문자열에 적용 합니다.와 마찬가지로 strcoll 및 stricoll, strxfrm 멀티 바이트 문자 문자열을 적절 하 게 자동으로 처리 합니다.

wcsxfrm와이드 문자 버전입니다 strxfrm. 문자열 인수를 wcsxfrm 와이드 문자에 대 한 포인터입니다.에 대 한 wcsxfrm, 후를 호출 하 고 문자열 변환 wcscmp 두 개의 변환 된 문자열을 동일한 호출의 결과 얻을 수 wcscoll 두 원본 문자열에 적용 합니다.wcsxfrm및 strxfrm 그렇지을 동일 하 게 작동 합니다.wcsxfrm현재 로캘을 로캘 종속 동작을 사용합니다. _wcsxfrm_l대신 현재 로케일에 전달 된 로캘이 사용 됩니다.

이러한 함수 매개 변수의 유효성을 검사 합니다.경우 strSource 은 null 포인터입니다. 또는 strDest (카운트가 0 인 경우를 제외 하 고)은 NULL 포인터입니다, 또는 count 보다 큰 INT_MAX, 설명에 따라 잘못 된 매개 변수 처리기가 호출 매개 변수 유효성 검사 .실행을 계속 수 있으면 이러한 함수를 설정 errno 에 EINVAL 를 반환 하 고 INT_MAX.

일반 텍스트 루틴 매핑

TCHAR입니다.H 루틴

_UNICODE 및 _Mbcs가 정의 되지 않았습니다.

_Mbcs가 정의

_Unicode가 정의

_tcsxfrm

strxfrm

strxfrm

wcsxfrm

_tcsxfrm_l

_strxfrm_l

_strxfrm_l

_wcsxfrm_l

"C" 로케일에 순서 문자 (ASCII 문자 집합) 문자 집합의 문자 lexicographic 순서와 같습니다.그러나 다른 로캘에서 순서 문자에 문자 집합 lexicographic 문자 순서와 다를 수 있습니다.예를 들어, 특정 유럽 로케일에서 문자 'a' (값 0x61) 문자 앞에 ' & # x00E4;' (0xE4 값) 문자 집합이 있지만 문자에서 'ä' 문자 'a' 사전순 앞.

에 대 한 문자 집합 및 lexicographic 문자 순서가 다른 로캘에서 사용 하 여 strxfrm 원래 문자열에 다음 strcmp lexicographic 문자열 비교는 현재 로케일에 따라 생성 하는 결과 문자열에 LC_COLLATE 범주 설정 합니다.따라서 위의 로케일에서 사전순 두 문자열을 비교 하는 데 사용할 strxfrm 하 여 원래 문자열을 다음에 strcmp 결과 문자열에.또는 사용할 수 있습니다 strcoll 대신 strcmp 원래 문자열입니다.

strxfrm기본적으로입니다 LCMapStringLCMAP_SORTKEY.

데 필요한 배열 크기를 다음 식 값입니다 있는 strxfrm 원본 문자열의 변환:

1 + strxfrm( NULL, string, 0 )

만, "C" 로케일에서 strxfrm 다음과 같습니다:

strncpy( _string1, _string2, _count );
return( strlen( _string1 ) );

요구 사항

루틴

필수 헤더

strxfrm

<string.h>

wcsxfrm

<string.h> 또는 <wchar.h>

_strxfrm_l

<string.h>

_wcsxfrm_l

<string.h> 또는 <wchar.h>

추가 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.

해당 .NET Framework 항목

해당 사항 없음. 표준 C 함수를 호출할 수 있습니다 PInvoke. 자세한 내용은 플랫폼 호출 예제.

참고 항목

참조

데이터 변환

localeconv

setlocale을 _wsetlocale

로캘

문자열 조작 (CRT)

strcoll 함수

strcmp, wcscmp, _mbscmp

strncmp, wcsncmp, _mbsncmp, _mbsncmp_l