Condividi tramite


ctype::narrow

Converte i caratteri di tipo CharType utilizzati dalle impostazioni locali corrispondenti ai caratteri di tipo char nel set di caratteri nativo.

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

Parametri

  • ch
    Il carattere di tipo Chartype utilizzato dalle impostazioni locali da convertire.

  • default
    Il valore predefinito da assegnare alla funzione membro per i caratteri di tipo CharType che non dispongono di caratteri della controparte di tipo char.

  • first
    Un puntatore al primo carattere in sequenza di caratteri da convertire.

  • last
    Un puntatore al carattere immediatamente successiva all'ultimo carattere sequenza di caratteri da convertire.

  • dest
    Un puntatore const al primo carattere di tipo char nell'intervallo di destinazione in cui memorizzare l'intervallo conversione dei caratteri.

Valore restituito

La prima funzione membro restituisce il carattere nativo di tipo char che corrisponde al carattere di parametro della controparte CharTypedefault di tipo se non è definito.

La seconda funzione membro restituisce un puntatore all'intervallo di destinazione dei caratteri nativi convertiti da caratteri di tipo CharType.

Note

La prima funzione membro restituisce do_narrow(ch, default).La seconda funzione membro restituisce do_narrow (first, last, default, dest).Solo i caratteri di origine di base sono garantiti per contenere un'immagine inversa univoca CharType in narrow.Per questi caratteri di origine di base, di seguito contiene invarianti: narrow (== C. si ampliano (c), 0).

Esempio

// 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;
}
  

Requisiti

intestazione: <locale>

Spazio dei nomi: deviazione standard

Vedere anche

Riferimenti

ctype Class