Share via


_strdec, _wcsdec, _mbsdec, _mbsdec_l

문자열 포인터 한 문자 뒤로 이동합니다.

중요중요

mbsdec및 mbsdec_l 를 실행 하는 응용 프로그램에서 사용할 수 없습니다는 Windows 런타임.자세한 내용은 /zw에 지원 되는 CRT 함수.

unsigned char *_strdec(
   const unsigned char *start,
   const unsigned char *current 
);
unsigned wchar_t *_wcsdec(
   const unsigned wchar_t *start,
   const unsigned wchar_t *current 
);
unsigned char *_mbsdec(
   const unsigned char *start,
   const unsigned char *current 
);
unsigned char *_mbsdec_l(
   const unsigned char *start,
   const unsigned char *current,
   _locale_t locale
);

매개 변수

  • start
    모든 문자에 대 한 포인터 (또는 _mbsdec 및 _mbsdec_l, 첫 번째 바이트는 멀티 바이트 문자의) 원본 문자열입니다. start앞에 야 current 원본 문자열에서입니다.

  • current
    모든 문자에 대 한 포인터 (또는 _mbsdec 및 _mbsdec_l, 첫 번째 바이트는 멀티 바이트 문자의) 원본 문자열입니다. current따라야 start 원본 문자열에서입니다.

  • locale
    사용 하는 로캘.

반환 값

_mbsdec_mbsdec_l, _strdec, 및 _wcsdec 각각 반환 포인터 바로 앞에 문자를 current. _mbsdec반환 NULL 경우 값을 start 보다 크거나 같은 수의 current._tcsdec이러한 함수 및 해당 반환 값 중 하나로 매핑됩니다 매핑에 따라 달라 집니다.

설명

_mbsdec 및 _mbsdec_l 함수 바로 앞에 있는 멀티 바이트 문자의 첫 번째 바이트에 대 한 포인터를 반환할 current 포함 하는 문자열에 start.

출력 값의 설정에 의해 영향을 받지는 LC_CTYPE 범주 설정 로케일입니다. 볼 setlocale을 _wsetlocale 에 대 한 자세한 내용은._mbsdec현재 사용 중인 로케일에 따라 멀티 바이트 문자 시퀀스를 인식 하는 동안 _mbsdec_l 대신 전달 된 로캘 매개 변수를 사용 하는 것을 제외 하 고 동일 합니다.자세한 내용은 로캘을 참조하십시오.

경우 start 또는 current 는 NULL에 설명 된 대로 잘못 된 매개 변수 처리기를 호출 매개 변수 유효성 검사.실행을 계속 하도록 허용 된 경우,이 함수는 반환 EINVAL 을 설정 하 고 errno 에 EINVAL.

보안 정보보안 정보

이러한 함수는 버퍼 오버런 위협에 노출 될 수 있습니다.불필요 한 권한 상승 수 있으므로 시스템 공격에 대 한 버퍼 오버런을 사용할 수 있습니다.자세한 내용은 버퍼 오버런 방지.

일반 텍스트 루틴 매핑

Tchar.h 루틴

_UNICODE 및 _mbcs가 정의 되어 있지 않습니다

_Mbcs가 정의

_Unicode가 정의

_tcsdec

_strdec

_mbsdec

_wcsdec

_strdec및 _wcsdec 싱글바이트 문자 및 와이드 문자 버전의 _mbsdec 및 _mbsdec_l._strdec및 _wcsdec 만이 대 한이 매핑을 제공 되며 그렇지 않으면 사용할 수 없습니다.

자세한 내용은 일반 텍스트 매핑을 사용합니다.제네릭 텍스트 매핑을 참조하십시오.

요구 사항

루틴

필수 헤더

선택적 헤더

_mbsdec

<mbstring.h>

<mbctype.h>

_mbsdec_l

<mbstring.h>

<mbctype.h>

_strdec

<tchar.h>

 

_wcsdec

<tchar.h>

 

자세한 호환성에 대 한 내용은 호환성.

예제

다음 예제에서는 _tcsdec.

#include <iostream>
#include <tchar.h>
using namespace std;

int main()
{
   const TCHAR *str = _T("12345");
   cout << "str: " << str << endl;

   const TCHAR *str2;
   str2 = str + 2;
   cout << "str2: " << str2 << endl;

   TCHAR *answer;
   answer = _tcsdec( str, str2 );
   cout << "answer: " << answer << endl;

   return (0); 
}

다음 예제에서는 _mbsdec.

#include <iostream>
#include <mbstring.h>
using namespace std;

int main() 
{ 
   char *str = "12345";
   cout << "str: " << str << endl;

   char *str2;
   str2 = str + 2; 
   cout << "str2: " << str2 << endl;

   unsigned char *answer;
   answer = _mbsdec( reinterpret_cast<unsigned char *>( str ), reinterpret_cast<unsigned char *>( str2 ));

   cout << "answer: " << answer << endl;

   return (0); 
}

해당 .NET Framework 항목

해당 사항 없음. 표준 C 함수를 호출 하려면 PInvoke. 자세한 내용은 플랫폼 호출 예제을 참조하십시오.

참고 항목

참조

문자열 조작 (CRT)

_strinc, _wcsinc, _mbsinc, _mbsinc_l

_strnextc, _wcsnextc, _mbsnextc, _mbsnextc_l

_strninc, _wcsninc, _mbsninc, _mbsninc_l