ctype::narrow
Konvertiert die Zeichen vom Typ CharType verwendet von einem Gebietsschema zu den entsprechenden Zeichen des Typs char im systemeigenen Zeichensatz.
char narrow(
CharType ch,
char default = '\0'
) const;
const CharType* narrow(
const CharType* first,
const CharType* last,
char default,
char* dest
) const;
Parameter
ch
Das Zeichen des Typs Chartype wird durch das zu konvertierende Gebietsschema.default
Der durch die Memberfunktion zugewiesen werden Standardwert, den Zeichen vom Typ CharType, die nicht Entsprechungszeichen des Typs char verfügen.first
Ein Zeiger auf das erste Zeichen im Bereich von den zu konvertierenden Zeichen.last
Ein Zeiger auf Zeichen direkt hinter dem letzten Zeichen im Bereich von den zu konvertierenden Zeichen.dest
const Ein Zeiger auf das erste Zeichen des Typs char im Zielbereich, der den konvertierten Bereich von Zeichen speichert.
Rückgabewert
Die erste Memberfunktion gibt den systemeigenen Zeichen vom Typ char zurück, der dem Parameterzeichen des Typs CharType entspricht default, wenn nicht äquivalent definiert wird.
Die zweite Memberfunktion gibt einen Zeiger dem Zielbereich von systemeigenen Zeichen zurück, die aus den Zeichen vom Typ CharType konvertiert werden.
Hinweise
Die erste Memberfunktion gibt do_narrow zurück (ch, default). Die zweite Memberfunktion gibt do_narrow zurück (first, last, default, dest). Nur die grundlegenden Quellzeichen ist garantiert, um ein charakteristisches Urbild CharType unter narrow haben. Für diese grundlegenden Quellzeichen enthält Folgendes invariante Element an: narrow ( widen ( c ), 0 ) == c.
Beispiel
// 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;
}
Anforderungen
Gebietsschema Header: <>
Namespace: std