Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Linguagem C

Dominando o Tipo Char em C++: Declaração, ASCII e Técnicas de Conversão

O que é um Char?

O tipo char em C++ é um tipo de dado integral fundamental que armazena um único caractere. Internamente, é representado como um inteiro de 8 bits, ocupando exatamente um byte de memória. Por ser um tipo integral, pode participar de operações aritméticas e comparações como outros tipos numéricos.

Neste tutorial, você aprenderá:

ASCII – A Codificação Subjacente

Quando um valor char é armazenado, o compilador C++ o interpreta como um código ASCII, o American Standard Code for Information Interchange. ASCII atribui um valor inteiro (0–127) a cada caractere imprimível. Por exemplo, a letra 'a' corresponde ao valor decimal 97.

Declarando uma Variável Char

Para declarar uma variável de caractere, use a palavra-chave char seguida por um nome. Você pode opcionalmente inicializá-la com um literal de caractere único entre aspas simples.

char nomeVariavel;        // Declaração
char nomeVariavel = 'X';  // Declaração com inicialização

Exemplo 1: Declarando e Imprimindo um Char

#include <iostream>
using namespace std;
int main() {
    char nota = 'B';
    cout << "Tirei nota: " << nota;
    return 0;
}

Imprimindo o Valor ASCII de um Caractere

Como um char é essencialmente um inteiro, você pode fazer cast para int para revelar seu código ASCII.

Exemplo 2: Entrada do Usuário e Saída ASCII

#include <iostream>
using namespace std;
int main() {
    char ch;
    cout << "Digite qualquer caractere: ";
    cin >> ch;
    cout << "O valor ASCII de " << ch << " é " << int(ch);
    return 0;
}

Imprimindo um Char a partir de um Código ASCII

Atribuir um literal inteiro a uma variável char faz o compilador interpretar aquele inteiro como um código ASCII e armazenar o caractere correspondente.

Exemplo 3: Conversão ASCII para Char

#include <iostream>
using namespace std;
int main() {
    char x = 64, y = 66, z = 71;
    cout << x << y << z;
    return 0;
}

Saída: @BG (64=@, 66=B, 71=G)

Lendo Caracteres do Usuário

O operador de extração >> lê apenas o primeiro caractere não-whitespace inserido. Caracteres subsequentes permanecem no buffer de entrada até serem lidos.

Exemplo 4: Lendo Dois Caracteres

#include <iostream>
using namespace std;
int main() {
    cout << "Digite uma sequência de caracteres: ";
    char ch;
    cin >> ch;
    cout << "O código ASCII de " << ch << " é " << int(ch) << '\n';
    cin >> ch;
    cout << "O código ASCII de " << ch << " é " << int(ch) << '\n';
    return 0;
}

Convertendo um Caractere para String

Várias técnicas existem para transformar um único caractere em um std::string. Abaixo estão as abordagens mais comuns.

#1 – Usando o Construtor da String

string st(1, 'C');

Isso cria uma string de comprimento um contendo o caractere 'C'.

Exemplo 5

#include <iostream>
#include <string>
using namespace std;
int main() {
    string st(1, 'C');
    cout << "A string resultante é: " << st;
    return 0;
}

#2 – Usando Operadores = e += Sobrecarregados

Atribuir um caractere diretamente a uma string ou anexá-lo é conciso e legível.

Exemplo 6

#include <iostream>
#include <string>
using namespace std;
int main() {
    string st;
    char b = 'B';
    st = 'A';
    st += b;
    cout << "A string resultante é: " << st;
    return 0;
}

#3 – Usando Funções Membro da String

  • push_back(char) – Adiciona um caractere ao final.
  • append(size_t, char) – Adiciona múltiplas cópias de um caractere.
  • assign(size_t, char) – Substitui a string por múltiplas cópias de um caractere.
  • insert(size_t, size_t, char) – Insere caracteres em posição especificada.

Exemplo 7

#include <iostream>
#include <string>
using namespace std;
int main() {
    string st;
    st.push_back('A');
    cout << "push_back A retorna: " << st << endl;
    st = "";
    st.append(1, 'C');
    cout << "append C retorna: " << st << endl;
    st = "";
    st.assign(1, 'D');
    cout << "assign D retorna: " << st << endl;
    st.insert(0, 1, 'E');
    cout << "insert caractere único retorna: " << st << endl;
    return 0;
}

#4 – Usando std::stringstream

Operadores de stream são sobrecarregados para char, permitindo conversão fácil para string.

Exemplo 8

#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main() {
    string st;
    stringstream myst;
    myst << 'A';
    myst >> st;
    cout << "A conversão do caractere único retorna a string: " << st;
    return 0;
}

Principais Conclusões

  • Um char é um tipo integral de 8 bits que armazena um único caractere.
  • Ocupa um byte e é armazenado como código ASCII (0–127).
  • Códigos ASCII podem ser revelados fazendo cast de char para int.
  • Caracteres podem ser convertidos para strings usando construtores, operadores de atribuição, funções membro ou string streams.

Linguagem C

  1. Entendendo Tipos de Dados em C++: Fundamentos, Modificadores e Boas Práticas
  2. Dominando Type Casting em Java: De Widening a Narrowing e Além
  3. Aproveitando Dados na Internet da Confiabilidade: Estratégias para Gestão Eficaz
  4. Laço do-while em C++: Sintaxe, Exemplos Práticos e Loops Aninhados
  5. Dominando Ponteiros em C++: Conceitos, Exemplos e Aplicações Práticas
  6. Sobrecarga de Operadores em C++: Guia Prático com Exemplos de Código
  7. Structs em C++ Explicadas com Exemplo Prático
  8. Dominando std::list em C++: Sintaxe, Funções e Exemplos Práticos
  9. Funções em C++ Explicadas com Exemplos Práticos de Código
  10. Maximize ROI de IoT com Monitoramento Avançado de Performance