ctype::narrow
Converte caracteres de tipo CharType usados por uma localidade para 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 convertido.default
O valor padrão a ser atribuído pela função de membro para caracteres de tipo CharType que não têm de caracteres correspondentes do tipo char.first
Um ponteiro para o primeiro caractere no intervalo de caracteres a ser convertido.last
Um ponteiro para o caractere imediatamente após o caractere mais recente no intervalo de caracteres a ser convertido.dest
Um ponteiro const para o primeiro caractere de 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 de tipo char nativo correspondente ao caractere de parâmetro de contrapartes de CharTypedefault do tipo se não estiver definido.
A segunda função de membro retorna um ponteiro para o intervalo de destino de caracteres nativos convertidos dos 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, invariável contém as seguintes: 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
Cabeçalho: <locale>
namespace: STD