ctype::narrow
Convertit les caractères de type CharType utilisés par les paramètres régionaux en caractères correspondants du type char dans le jeu de caractères natif.
char narrow(
CharType ch,
char default = '\0'
) const;
const CharType* narrow(
const CharType* first,
const CharType* last,
char default,
char* dest
) const;
Paramètres
ch
Le caractère de type Chartype utilisé par les paramètres régionaux à convertir.default
La valeur par défaut à assigner par la fonction membre aux caractères de type CharType qui n'ont pas de caractères d'équivalents de type char.first
Pointeur vers le premier caractère de la plage de caractères à convertir.last
Pointeur vers le caractère qui suit immédiatement le dernier caractère de la plage de caractères à convertir.dest
Un pointeur const au premier caractère de type char dans la plage de destination qui stocke la plage convertir des caractères.
Valeur de retour
La première fonction membre retourne le caractère natif du type char qui correspond au caractère de paramètre de type équivalent d' CharTypedefault si est défini.
La deuxième fonction membre retourne un pointeur vers la plage de destination des caractères natifs convertit les caractères de type CharType.
Notes
La première fonction membre retourne do_narrow(ch, default).La deuxième fonction membre retourne do_narrow (first, last, default, dest).Seuls les caractères de base de source sont garantie qu'une seule image inverse CharType sous narrow.Pour ces caractères de base de la source, contient les invariants suivants : narrow == C. ( élargissez (c), 0).
Exemple
// 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;
}
Configuration requise
en-tête : <locale>
l'espace de noms : DST