Compartilhar via


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

Consulte também

Referência

ctype Class