Sdílet prostřednictvím


ctype::narrow

Převede znaky typu CharType používá národní prostředí odpovídající znaky typu char v nativním znakové sady.

char narrow(
    CharType ch, 
    char default = '\0'
) const;
const CharType* narrow(
    const CharType* first, 
    const CharType* last,
    char default, 
    char* dest
) const;

Parametry

  • ch
    Znak typu Chartype používá národní prostředí má být převeden.

  • default
    Výchozí hodnota přiřazena členské funkce znaky typu CharType nemají protějškem znaky typu char.

  • first
    Ukazatel myši na první znak v rozmezí znaků, které chcete převést.

  • last
    Ukazatel znak bezprostředně následující poslední znak v rozmezí znaků, které chcete převést.

  • dest
    Const ukazatel myši na první znak typu char v cílové oblasti, který ukládá převedené rozsah znaků.

Vrácená hodnota

První členské funkce vrátí znak nativního typu char odpovídá znak parametr typu CharTypedefault Pokud je protějškem není definována.

Druhý členské funkce vrací ukazatel do cílové oblasti nativní znaky převedeny z znaky typu CharType.

Poznámky

Vrátí první členské funkce do_narrow(ch, default).The second member function returns do_narrow (first, last, default, dest).Pouze znaky základní zdroj zaručeně jedinečný obraz inverzní CharType za narrow.Pro tyto znaky základní zdroj obsahuje následující invariant: narrow ( rozšířit ( c ), 0) == c.

Příklad

// ctype_narrow.cpp
// compile with: /EHsc /W3
#include <locale>
#include <iostream>
using namespace std;

int main( )
{
   locale loc1 ( "english" );
   wchar_t *str1 = L"\x0392fhello everyone";
   char str2 [16];
   bool result1 = (use_facet<ctype<wchar_t> > ( loc1 ).narrow
      ( str1, str1 + wcslen(str1), 'X', &str2[0] ) != 0);  // C4996
   str2[wcslen(str1)] = '\0';
   wcout << str1 << endl;
   cout << &str2[0] << endl;
}
  

Požadavky

Záhlaví: <locale>

Obor názvů: std

Viz také

Referenční dokumentace

ctype Class