Partager via


ctype::narrow

Convertit des caractère de type CharType utilisés par des paramètres régionaux aux caractères correspondants du type char dans le jeu de caractères natifs.

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 du type Chartype utilisé par les paramètres régionaux à convertir.

  • default
    La valeur par défaut à affecter à la méthode avec des caractères de type CharType qui n'ont pas de caractères homologues de type char.

  • first
    Pointeur vers le premier caractère dans la plage de caractères à convertir.

  • last
    Pointeur vers le caractère juste après le dernier caractère dans la plage de caractères à convertir.

  • dest
    Pointeur constant vers le premier caractère du type char dans la plage de destination qui stocke la plage de caractères convertis.

Valeur de retour

La première méthode retourne le type natif du type char qui correspond au type de paramètre de type CharType default si aucun homologue n'est défini.

La deuxième méthode retourne un pointeur vers la plage de destination des caractères natifs convertis depuis les caractères de type CharType.

Notes

La premièree méthode retourne do_narrow(ch, default). La deuxième méthode retourne do_narrow (first, last, default, dest). Seuls les caractères basiques de source se voient garanti de posséder un unique image inverse CharType sous narrow. Pour ces caractères basiques de source, les invariants suivant détiennent : narrow ( élargirc ), 0 ) == c.

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 : <paramètres régionaux>

Espace de noms : std

Voir aussi

Référence

ctype, classe