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