Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Tipos de caractere – o tipo wchar_t

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Tipos de caractere – o tipo wchar_t

    Só podiamos mencionar o tipo de caractere multi-byte após termos conhecimento dos tipos inteiro e suas modificações.

    Mencionamos a existência de alguns character encodings que utilizam mais de um byte para representar caracteres. É o caso dos encodings multi-byte, geralmente implementados em um programa multilinguagem.

    Na linguagem C, o tipo wchar_t era definido na biblioteca do C, ou seja, não era uma implementação intrínseca da linguagem. No C++, o tipo wchar_t é um tipo embutido à linguagem. O tamanho deste tipo depende também da implementação. Ele ocupa 16 bits no compilador VC++ (idêntico a um unsigned short).

    Para escrever caracteres literais multi-byte, deve-se preceder com L. Veja o exemplo abaixo:
    1.
    #include <iostream>
    2.

    3.
    using namespace std;
    4.

    5.
    int main ()
    6.
    {
    7.
    char firstchar = 'a';
    8.
    char *firststring = "hi";
    9.

    10.
    wchar_t mychar = L'a';
    11.
    wchar_t *mystring = L"hello";
    12.

    13.
    std::cout << firstchar << std::endl;
    14.
    std::cout << firststring << std::endl;
    15.

    16.
    std::wcout << mychar << std::endl;
    17.
    std::wcout << mystring << std::endl;
    18.

    19.
    return 0;
    20.
    }
    Temos quatro variáveis. firstchar é um caractere, firststring é uma string, mychar é um caractere multi-byte e mystring é uma string multi-byte. Você deve estar se perguntando o motivo do * após o tipo das strings, mas isto não importa agora, estudaremos ponteiros em aulas posteriores. Observe que o caractere multi-byte e a string multi-byte são precedidas por L, para que o compilador entenda que se trata de caracteres multi-byte. No caso do VC++, um caractere multi-byte ocupa 16 bits (2 bytes), então apesar de a variável mychar representar apenas um caractere, este caractere ocupa 2 bytes por ser multi-byte.

    Observe também que usamos, ao invés do objeto cout, o objeto wcout para imprimir os caracteres multi-byte. E ainda existem os objetos específicos para programas multi-byte: wcin (equivalente a cin), wcerr (equivalente a err) e wclog (equivalente a clog), embora não tenhamos visto o significado de todos eles.

    Para uma tabela completa dos tipos de dados e suas características no VC++ clique no link a seguir: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Veremos na próxima aula mais tipos de dados e conceitos sobre variáveis.

    Quaisquer críticas, sugestões ou correções são aceitas.

    Créditos pela Matéria: TaTuSoft
X
Working...
X