ctype::narrow
Converte os caracteres de tipo CharType usados por uma localidade dos caracteres correspondentes do tipo char no conjunto de caracteres nativo.
char narrow(
CharType ch,
char default = '\0'
) const;
const CharType* narrow(
const CharType* first,
const CharType* last,
char default,
char* dest
) const;
Parâmetros
ch
O caractere de tipo Chartype usado pela localidade a ser convertida.default
O valor padrão a ser atribuído pela função de membro para caracteres de tipo CharType que não têm caracteres de contraparte do tipo char.first
Um ponteiro para o primeiro caractere no intervalo dos caracteres a serem convertidos.last
Um ponteiro para o caractere imediatamente depois do último caractere no intervalo dos caracteres a serem convertidos.dest
Um ponteiro de const o primeiro caractere do tipo char no intervalo de destino que armazena o intervalo convertido de caracteres.
Valor de retorno
A primeira função de membro retorna o caractere nativo do tipo char que corresponde ao caractere de parâmetro de contraparte de CharType default do tipo se não for definido.
A segunda função de membro retorna um ponteiro para o intervalo de destino de caracteres nativos convertidos de caracteres de tipo CharType.
Comentários
A primeira função de membro retorna do_narrow(ch, default). A segunda função de membro retorna do_narrow (first, last, default, dest). Somente os caracteres básicos de origem são garantidos para ter uma imagem inversa exclusivo CharType em narrow. Para esses caracteres básicos de origem, as seguintes propriedades são invariáveis: narrow ( widen ( c ), 0 ) == c.
Exemplo
// 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;
}
Requisitos
localidade <deCabeçalho: >
Namespace: std