A função wctob () em C ++ converte um caractere largo em um caractere de byte único (do tipo char) se seu equivalente de caractere multibyte for um byte único.
A função wctob () é definida no arquivo de cabeçalho.
protótipo wctob ()
int wctob (wint_t c);
A função wctob () leva um caractere largo c como argumento e retorna seu equivalente estreito de caractere de byte único, se possível.
Parâmetros wctob ()
- c: O caractere largo para estreitar.
wctob () Valor de retorno
Se c representa um caractere multibyte de comprimento 1 no estado de deslocamento inicial, a função wctob () retorna a representação de byte único de c. Caso contrário, EOF é retornado.
Exemplo: Como funciona a função wctob ()?
#include #include #include #include using namespace std; void test_wctob(wchar_t c) ( int ch = wctob(c); if (ch != EOF) wcout << c << L" can be narrowed" << endl; else wcout << c << L" can't be narrowed" << endl; ) int main() ( setlocale(LC_ALL, "en_US.utf8"); wchar_t wc1 = L'm'; wchar_t wc2 = L'u00c6'; test_wctob(wc1); test_wctob(wc2); return 0; )
Quando você executa o programa, a saída será:
m pode ser reduzido Æ não pode ser reduzido