C++ Tipo de dados Char com exemplos
O que é Char?
Char é um C++ tipo de dado projetado para o armazenamento de letras. Char é uma abreviação para um caractere alfanumérico. É um tipo de dado integral, o que significa que o valor é armazenado como um inteiro. Um char ocupa um tamanho de memória de 1 byte. Ele também armazena um único caractere.
O que é ASCII?
O valor char é interpretado como um caractere ASCII. Isso é semelhante a como os valores booleanos são interpretados como verdadeiros ou falsos. ASCII é um acrônimo para Código Padrão Americano para Intercâmbio de Informações. Ele define uma maneira específica de representar caracteres ingleses como números.
Os números variam entre 0 e 127. Por exemplo, o caractere 'a' é equivalente ao código ASCII 97.
Declaração de Caractere
Para declarar um variável char em C++, usamos a palavra-chave char. Isto deve ser seguido pelo nome da variável. A variável pode ser inicializada no momento da declaração. O valor da variável deve ser colocado entre aspas simples.
Sintaxe
Aqui está a sintaxe para declaração char em C++:
char variable-name;
O nome da variável é o nome a ser atribuído à variável.
Se um valor for atribuído no momento da declaração, você poderá usar esta sintaxe:
char variable-name = 'value';
- O nome da variável é o nome da variável char.
- O valor é o valor a ser atribuído à variável char.
1 exemplo:
#include <iostream> using namespace std; int main() { char grade = 'B'; cout << "I scored a: "<<grade; return 0; }
Saída:
Aqui está uma captura de tela do código:
Explicação do código:
- Incluindo o arquivo de cabeçalho iostream em nosso código para usar suas funções.
- Incluindo o namespace std em nosso código para usar suas classes sem chamá-lo.
- Chamando a função main(). A lógica do programa deve ser adicionada ao corpo desta função.
- Declare uma variável de caractere chamada nota. A variável também recebeu um valor B. Observe que o valor da variável está entre aspas simples.
- Imprima o valor da variável nota junto com outro texto no console.
- O programa deve retornar o valor após a conclusão bem-sucedida.
- Fim do corpo da função main().
Imprimindo valor ASCII
Conforme afirmado acima, cada caractere é interpretado como caractere ASCII. É possível obter o valor ASCII de qualquer caractere. Você simplesmente passa o caractere para a função int(). Este processo é chamado de conversão de tipo. Vamos demonstrar isso:
2 exemplo:
#include <iostream> using namespace std; int main() { char ch; cout << "Enter any character: "; cin >> ch; cout << "The ASCII Value of " << ch << " is " << int(ch); return 0; }
Saída:
Aqui está uma captura de tela do código:
Explicação do código:
- Incluir o arquivo de cabeçalho iostream em nosso código para usar suas funções.
- Incluir o namespace std em nosso código para usar suas classes sem chamá-lo.
- Chamando a função main(). A lógica do programa deve ser adicionada ao corpo desta função.
- Declare uma variável char chamada ch.
- Imprima algum texto no console. O texto solicita que o usuário insira um valor para a variável ch.
- Leia a entrada do usuário no teclado e armazene-a na variável ch.
- Imprima algum texto no console. O texto incluirá o caractere inserido para a variável ch, o valor ASCII desse caractere e outro texto.
- O programa deve retornar o valor após a conclusão bem-sucedida.
- Fim do corpo da função main().
Imprimindo valor de caractere
Dado um valor ASCII, o C++ compilador pode retornar o caractere correspondente. Você declara uma variável char e atribui a ela um valor inteiro. Ele será convertido para o valor do caractere correspondente.
3 exemplo:
#include <iostream> using namespace std; int main() { char x = 64, y = 66, z = 71; cout << x; cout << y; cout << z; return 0; }
Saída:
Aqui está uma captura de tela do código:
Explicação do código:
- Incluindo o arquivo de cabeçalho iostream no código. Usaremos então suas funções sem obter erros.
- Inclua o namespace std no código. Usaremos suas classes sem chamá-lo.
- Chamando a função main(). A lógica do programa deve entrar no corpo desta função.
- Declare três variáveis char x, y e z. Os três receberam valores inteiros de 65, 66 e 67. Eles serão tratados como valores ASCII para caracteres.
- Imprima o valor da variável x no console. Como x foi declarado como char, será retornado o char com valor ASCII 65, ou seja, A.
- Imprima o valor da variável y no console. Como y foi declarado como char, será retornado o char com valor ASCII 66, ou seja, B.
- Imprima o valor da variável z no console. Como z foi declarado como char, será retornado o char com valor ASCII 67, ou seja, C.
- O programa deve retornar o valor após a conclusão bem-sucedida.
- O final do corpo da função main().
Inserindo caracteres
Podemos usar a função std::cin para ler um caractere inserido pelo usuário através do teclado. O std::cin permitirá que você insira muitos caracteres. No entanto, a variável caractere pode conter apenas um caractere. Isso significa que apenas o primeiro caractere inserido será extraído e armazenado na variável de caractere. O restante permanecerá no buffer usado por std::cin. Para extraí-lo, faça chamadas subsequentes para std::cin.
4 exemplo:
#include <iostream> using namespace std; int main() { cout << "Type a sequence of characters: "; char ch; cin >> ch; cout <<"The ASCII code of "<< ch << " is "<< int(ch) << '\n'; cin >> ch; cout <<"The ASCII code of " << ch << " is "<< int(ch) << '\n'; return 0; }
Saída:
Aqui está uma captura de tela do código:
Explicação do código:
- Incluindo o arquivo de cabeçalho iostream em nosso código para usar suas funções.
- Inclua o namespace std em nosso código para usar suas classes sem chamá-lo.
- Chamando a função main(). A lógica do programa deve ser adicionada ao corpo desta função.
- Imprima algum texto no console.
- Declare uma variável de caractere chamada ch.
- Leia a entrada do usuário no teclado. A entrada será armazenada na variável ch. Como o usuário digitará uma sequência de caracteres como abc, apenas o primeiro caractere, a, será armazenado na variável ch.
- Imprimindo o primeiro caractere digitado, seu código ASCII e demais textos no console. O código ASCII é determinado passando a variável de caractere para a função int().
- Leia o próximo caractere inserido pelo usuário. O usuário não será obrigado a inserir um novo caractere. Em vez disso, ele lerá o segundo caractere inserido, ou seja, b.
- Imprimindo o segundo caractere digitado, seu código ASCII e demais textos no console. O código ASCII é determinado passando a variável de caractere para a função int().
- O programa deve retornar o valor após a conclusão bem-sucedida.
- Fim do corpo da função main().
Convertendo Caractere em String
Existem várias maneiras que podemos usar para converter caracteres em cordas.
Vamos discuti-los:
Nº 1: Usando o construtor fornecido por uma classe String
Isso pode ser feito usando a seguinte sintaxe:
string st(int n,char x);
O parâmetro n denota o tamanho da string que será gerada.
O parâmetro x é o caractere a ser convertido em uma string.
A função retorna uma string.
5 exemplo:
#include<iostream> #include <string> using namespace std; int main() { string st(1, 'C'); cout << "The resulting string is : " << st; return 0; }
Saída:
Aqui está uma captura de tela do código:
Explicação do código:
- Incluindo o arquivo de cabeçalho iostream em nosso código para usar suas funções.
- Inclua o arquivo de cabeçalho de string em nosso código para usar suas funções.
- Inclua o namespace std em nosso código para usar suas classes sem chamá-lo.
- Chamando a função main(). A lógica do programa deve ser adicionada ao corpo desta função.
- Converta o caractere “C” em uma string de comprimento 1 e atribua a string resultante à variável st.
- Imprima o valor da string st no console junto com outro texto.
- O programa deve retornar o valor após a conclusão bem-sucedida.
- Fim do corpo da função main().
#2) Usando o std::string Operators = e +=
Os operadores = e += já estão sobrecarregados com caracteres. Os dois podem ser usados para converter um caractere específico em uma string.
6 exemplo:
#include<iostream> #include <string> using namespace std; int main() { string st; char b = 'B'; st = 'A'; st += b; cout << "The resulting string is : " << st; return 0; }
Saída:
Aqui está uma captura de tela do código:
Explicação do código:
- Inclua o arquivo de cabeçalho iostream em nosso código para usar suas funções.
- Inclua o arquivo de cabeçalho de string em nosso código para usar suas funções.
- Inclua o namespace std em nosso código para usar suas classes sem chamá-lo.
- Chamando a função main(). A lógica do programa deve ser adicionada ao corpo desta função.
- Crie uma variável de string chamada st.
- Crie um personagem chamado b com um valor de B.
- Atribua um valor de A à string chamada st.
- Use o operador += para converter caracteres em uma string.
- Imprima o valor da string st no console junto com outro texto.
- O programa deve retornar o valor após a conclusão bem-sucedida.
- Fim do corpo da função main().
Nº 3: Usando métodos std::string
A classe std::string vem com muitas funções sobrecarregadas que podem ajudá-lo a converter caracteres em strings.
Eles incluem:
- retrocesso Esta função atribui um caractere específico ao final de uma string. Está sobrecarregado de caracteres. É necessária a seguinte sintaxe:
void push_back(char ch)
O parâmetro ch é o caractere que deve ser alterado para uma string.
- anexar Ele atribui muitas cópias de um caractere específico a uma string. A função assume a seguinte sintaxe:
string& append(size_t n,char ch)
O parâmetro n denota os horários em que o caractere será anexado.
O parâmetro ch é o caractere a ser anexado à string.
- atribuir Esta função substitui o conteúdo atual da string por n cópias do caractere especificado. Ela usa a seguinte sintaxe:
string& assign(size_t n,char ch);
O parâmetro n denota o total de cópias do personagem.
O parâmetro ch é o caractere a ser copiado na string.
- inserir A função insert insere n cópias de um caractere na posição inicial da string, conforme especificado nos argumentos. É necessária a seguinte sintaxe:
string& insert(size_t p,size_t n,char ch);
O parâmetro p denota a posição inicial onde os caracteres serão inseridos.
O parâmetro n denota o total de cópias do personagem.
O parâmetro ch é o caractere a ser inserido na string.
7 exemplo:
#include<iostream> #include <string> using namespace std; int main() { string st; st.push_back('A'); cout << "push_back A returns : " << st << endl; st = ""; st.append(1, 'C'); cout << "append C returns : " << st << endl; st = ""; st.assign(1, 'D'); cout << "assign D returns : " << st << endl; st.insert(0, 1, 'E'); cout << "insert single character returns : " << st << endl; return 0; }
Saída:
Aqui está uma captura de tela do código:
- Inclua o arquivo de cabeçalho iostream em nosso código para usar suas funções.
- Inclua o arquivo de cabeçalho de string em nosso código para usar suas funções.
- Inclua o namespace std em nosso código para usar suas classes sem chamá-lo.
- Chamando a função main(). A lógica do programa deve ser adicionada ao corpo desta função.
- Crie uma variável de string chamada st.
- Atribua o caractere A ao final da string.
- Imprima o valor da string st no console junto com outro texto. O endl (linha final) move o cursor para a próxima linha.
- Defina o valor da string st como vazio.
- Atribua um único caractere C à string chamada st.
- Imprima o valor da string st no console junto com outro texto. O endl (linha final) move o cursor para a próxima linha.
- Defina o valor da string st como vazio.
- Substitua o conteúdo da string st pelo único caractere D.
- Imprima o valor da string st no console junto com outro texto. O endl (linha final) move o cursor para a próxima linha.
- Insira um único caractere E na string chamada st de seu primeiro índice.
- Imprima o valor da string st no console junto com outro texto. O endl (linha final) move o cursor para a próxima linha.
- O programa deve retornar o valor após a conclusão bem-sucedida.
- Fim do corpo da função main().
Nº 4: Usando std::stringstream
Para usar esta classe para converter caractere em string, insira o caractere no stream.
Eles serão gravados na string.
8 exemplo:
#include<iostream> #include <string> #include <sstream> using namespace std; int main() { string st; stringstream myst; myst << 'A'; myst >> st; cout << "The conversion of the single character returns the string: " << st; return 0; }
Saída:
Aqui está uma captura de tela do código:
Explicação do código:
- Inclua o arquivo de cabeçalho iostream em nosso código para usar suas funções.
- Inclua o arquivo de cabeçalho de string em nosso código para usar suas funções.
- Inclua o arquivo de cabeçalho sstream em nosso código para usar suas funções.
- Inclua o namespace std em nosso código para usar suas classes sem chamá-lo.
- Chamando a função main(). A lógica do programa deve ser adicionada ao corpo desta função.
- Crie uma variável de string chamada st.
- Crie uma variável de fluxo chamada myst.
- Insira o caractere A no objeto stream denominado myst.
- Converta o objeto stream em uma string.
- Imprima o valor da string st no console junto com outro texto. O endl (linha final) move o cursor para a próxima linha.
- O programa deve retornar o valor após a conclusão bem-sucedida.
- Fim do corpo da função main().
Resumo
- Um caractere é um C++ tipo de dados usado para o armazenamento de cartas.
- C++ Char é um tipo de dados integral, o que significa que o valor é armazenado como um número inteiro.
- Ocupa um tamanho de memória de 1 byte.
- C++ Char armazena apenas um único caractere.
- Os valores de caracteres são interpretados como caracteres ASCII.
- ASCII é um acrônimo para Código Padrão Americano para Intercâmbio de Informações.
- Ele estabelece uma maneira específica de representar caracteres ingleses na forma de números.
- Para ver o valor ASCII de um caractere, passamos para a função int().
- Para ver o valor char correspondente do valor ASCII, definimos o ASCII como um caractere.