Tipo de datos de caracteres C++ con ejemplos

¿Qué es Char?

Char es un tipo de datos de C++ diseñado para el almacenamiento de letras. Char es una abreviatura de carácter alfanumérico. Es un tipo de datos integral, lo que significa que el valor se almacena como un número entero. Un carácter ocupa un tamaño de memoria de 1 byte. También almacena un solo carácter.

¿Qué es el ASCII?

El valor char se interpreta como un carácter ASCII. Esto es similar a cómo se interpretan los valores booleanos como verdaderos o falsos. ASCII es un acrónimo de Código estándar americano para el intercambio de información. Define una forma específica de representar los caracteres ingleses como números.

Los números oscilan entre 0 y 127. Por ejemplo, el carácter 'a' equivale al código ASCII 97.

Declaración de carbón

para declarar un variable de carácter en C++, utilizamos la palabra clave char. Esto debe ir seguido del nombre de la variable. La variable se puede inicializar en el momento de la declaración. El valor de la variable debe estar entre comillas simples.

Sintaxis

Aquí está la sintaxis para la declaración de caracteres en C++:

char variable-name;

El nombre de la variable es el nombre que se asignará a la variable.

Si se va a asignar un valor en el momento de la declaración, puede utilizar esta sintaxis:

char variable-name = 'value';	
  • El nombre de la variable es el nombre de la variable char.
  • El valor es el valor que se asignará a la variable char.

Ejemplo 1:

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

Salida:

Declaración de carbón

Aquí hay una captura de pantalla del código:

Declaración de carbón

Explicación del código:

  1. Incluyendo el archivo de encabezado iostream en nuestro código para usar sus funciones.
  2. Incluyendo el espacio de nombres estándar en nuestro código para poder usar sus clases sin llamarlo.
  3. Llamando a la función main(). La lógica del programa debe agregarse dentro del cuerpo de esta función.
  4. Declare una variable de carácter denominada calificación. A la variable también se le ha asignado un valor de B. Observe que el valor de la variable está entre comillas simples.
  5. Imprima el valor de la calificación variable junto con otro texto en la consola.
  6. El programa debe devolver valor una vez completado con éxito.
  7. Fin del cuerpo de la función main().

Imprimir valor ASCII

Como se indicó anteriormente, cada carácter se interpreta como un carácter ASCII. Es posible obtener el valor ASCII de cualquier carácter. Simplemente pasa el carácter a la función int(). Este proceso se llama conversión de tipos. Demostremos esto:

Ejemplo 2:

#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;
}

Salida:

Imprimir valor ASCII

Aquí hay una captura de pantalla del código:

Imprimir valor ASCII

Explicación del código:

  1. Incluir el archivo de encabezado iostream en nuestro código para poder utilizar sus funciones.
  2. Incluir el espacio de nombres estándar en nuestro código para poder usar sus clases sin llamarlo.
  3. Llamando a la función main(). La lógica del programa debe agregarse dentro del cuerpo de esta función.
  4. Declare una variable char llamada ch.
  5. Imprime algo de texto en la consola. El texto solicita al usuario que ingrese un valor para la variable ch.
  6. Lea la entrada del usuario desde el teclado y guárdela en la variable ch.
  7. Imprime algo de texto en la consola. El texto incluirá el carácter que ingresó para la variable ch, el valor ASCII de este carácter y otro texto.
  8. El programa debe devolver valor una vez completado con éxito.
  9. Fin del cuerpo de la función main().

Valor de caracteres de impresión

Dado un valor ASCII, el compilador de C++ puede devolver el carácter correspondiente. Declaras una variable char y le asignas un valor entero. Se convertirá al valor de carácter correspondiente.

Ejemplo 3:

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

Salida:

Valor de caracteres de impresión

Aquí hay una captura de pantalla del código:

Valor de caracteres de impresión

Explicación del código:

  1. Incluyendo el archivo de encabezado iostream en el código. Luego usaremos sus funciones sin obtener errores.
  2. Incluya el espacio de nombres estándar en el código. Usaremos sus clases sin llamarlo.
  3. Llamando a la función main(). La lógica del programa debe ir al cuerpo de esta función.
  4. Declare tres variables char x, y y z. A los tres se les han asignado valores enteros de 65, 66 y 67. Estos serán tratados como valores ASCII para caracteres.
  5. Imprima el valor de la variable x en la consola. Dado que x se declaró como un carácter, se devolverá el carácter con valor ASCII de 65, es decir, A.
  6. Imprima el valor de la variable y en la consola. Dado que y se declaró como char, se devolverá el char con valor ASCII de 66, es decir, B.
  7. Imprima el valor de la variable z en la consola. Dado que z se declaró como char, se devolverá el char con valor ASCII de 67, es decir, C.
  8. El programa debe devolver valor una vez completado con éxito.
  9. El final del cuerpo de la función main().

Ingresando caracteres

Podemos usar la función std::cin para leer un carácter ingresado por el usuario a través del teclado. std::cin te permitirá ingresar muchos caracteres. Sin embargo, la variable de carácter sólo puede contener un carácter. Esto significa que solo el primer carácter ingresado será extraído y almacenado en la variable de carácter. El resto permanecerá en el buffer utilizado por std::cin. Para extraerlo, realice llamadas posteriores al std::cin.

Ejemplo 4:

#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;
}

Salida:

Ingresando caracteres

Aquí hay una captura de pantalla del código:

Ingresando caracteres

Explicación del código:

  1. Incluyendo el archivo de encabezado iostream en nuestro código para usar sus funciones.
  2. Incluya el espacio de nombres estándar en nuestro código para usar sus clases sin llamarlo.
  3. Llamando a la función main(). La lógica del programa debe agregarse dentro del cuerpo de esta función.
  4. Imprime algo de texto en la consola.
  5. Declare una variable de carácter llamada ch.
  6. Leer la entrada del usuario desde el teclado. La entrada se almacenará en la variable ch. Dado que un usuario escribirá una secuencia de caracteres como abc, solo el primer carácter, a, se almacenará en la variable ch.
  7. Imprimir el primer carácter ingresado, su código ASCII y otro texto en la consola. El código ASCII se determina pasando la variable de carácter a la función int().
  8. Lea el siguiente carácter ingresado por el usuario. No se le pedirá al usuario que ingrese un nuevo carácter. En su lugar, leerá el segundo carácter ingresado, es decir, b.
  9. Imprimiendo el segundo carácter ingresado, su código ASCII y otro texto en la consola. El código ASCII se determina pasando la variable de carácter a la función int().
  10. El programa debe devolver valor una vez completado con éxito.
  11. Fin del cuerpo de la función main().

Convertir carácter en cadena

Existen varias formas que podemos utilizar para convertir caracteres a instrumentos de cuerda.

Vamos a discutirlos:

#1: Usar el constructor dado por una clase de cadena

Esto se puede hacer usando el siguientewing sintaxis:

string st(int n,char x);

El parámetro n denota el tamaño de la cadena que se generará.

El parámetro x es el carácter a convertir en una cadena.

La función devuelve una cadena.

Ejemplo 5:

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

Salida:

Convertir carácter en cadena

Aquí hay una captura de pantalla del código:

Convertir carácter en cadena

Explicación del código:

  1. Incluyendo el archivo de encabezado iostream en nuestro código para usar sus funciones.
  2. Incluya el archivo de encabezado de cadena en nuestro código para usar sus funciones.
  3. Incluya el espacio de nombres estándar en nuestro código para usar sus clases sin llamarlo.
  4. Llamando a la función main(). La lógica del programa debe agregarse dentro del cuerpo de esta función.
  5. Convierta el carácter "C" en una cadena de 1 longitud y asigne la cadena resultante a la variable st.
  6. Imprima el valor de la cadena st en la consola junto con otro texto.
  7. El programa debe devolver valor una vez completado con éxito.
  8. Fin del cuerpo de la función main().

#2) Usando los operadores std::string = y +=

Los operadores = y += ya están sobrecargados de caracteres. Los dos se pueden usar para convertir un carácter particular en una cadena.

Ejemplo 6:

#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;
}

Salida:

Convertir carácter en cadena

Aquí hay una captura de pantalla del código:

Convertir carácter en cadena

Explicación del código:

  1. Incluya el archivo de encabezado iostream en nuestro código para usar sus funciones.
  2. Incluya el archivo de encabezado de cadena en nuestro código para usar sus funciones.
  3. Incluya el espacio de nombres estándar en nuestro código para usar sus clases sin llamarlo.
  4. Llamando a la función main(). La lógica del programa debe agregarse dentro del cuerpo de esta función.
  5. Cree una variable de cadena llamada st.
  6. Crea un personaje llamado b con un valor de B.
  7. Asigne un valor de A a la cadena denominada st.
  8. Utilice el operador += para convertir caracteres en una cadena.
  9. Imprima el valor de la cadena st en la consola junto con otro texto.
  10. El programa debe devolver valor una vez completado con éxito.
  11. Fin del cuerpo de la función main().

#3: Uso de métodos std::string

La clase std::string viene con muchas funciones sobrecargadas que pueden ayudarte a convertir caracteres en cadenas.

Incluyen:

  • hacer retroceder Esta función asigna un carácter particular al final de una cadena. Está sobrecargado de personajes. Se necesita lo siguiente.wing sintaxis:
    void push_back(char ch)
    

    El parámetro ch es el carácter que se va a cambiar a una cadena.

  • anexar Asigna muchas copias de un carácter particular a una cadena. La función toma la siguiente formawing sintaxis:
    string& append(size_t n,char ch)
    

    El parámetro n indica las veces que se agregará el carácter.

    El parámetro ch es el carácter que se agregará a la cadena.

  • asignar Esta función reemplaza el contenido actual de la cadena con n copias del carácter especificado. Toma lo siguientewing sintaxis:
    string& assign(size_t n,char ch);

    El parámetro n denota el total de copias del personaje.

    El parámetro ch es el carácter a copiar en la cadena.

  • insertar La función de inserción inserta n copias de un carácter en la posición inicial de la cadena, como se especifica en los argumentos. se necesita lo siguientewing sintaxis:
    string& insert(size_t p,size_t n,char ch);

    El parámetro p indica la posición desde el principio donde se insertarán los caracteres.

    El parámetro n denota el total de copias del personaje.

    El parámetro ch es el carácter que se insertará en la cadena.

Ejemplo 7:

#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;
}

Salida:

Convertir carácter en cadena

Aquí hay una captura de pantalla del código:

Convertir carácter en cadena

  1. Incluya el archivo de encabezado iostream en nuestro código para usar sus funciones.
  2. Incluya el archivo de encabezado de cadena en nuestro código para usar sus funciones.
  3. Incluya el espacio de nombres estándar en nuestro código para usar sus clases sin llamarlo.
  4. Llamando a la función main(). La lógica del programa debe agregarse dentro del cuerpo de esta función.
  5. Cree una variable de cadena llamada st.
  6. Asigne el carácter A al final de la cadena.
  7. Imprima el valor de la cadena st en la consola junto con otro texto. El endl (línea final) mueve el cursor a la siguiente línea.
  8. Establezca el valor de la cadena st en vacío.
  9. Asigne un solo carácter C a la cadena denominada st.
  10. Imprima el valor de la cadena st en la consola junto con otro texto. El endl (línea final) mueve el cursor a la siguiente línea.
  11. Establezca el valor de la cadena st en vacío.
  12. Reemplace el contenido de la cadena st con un solo carácter D.
  13. Imprima el valor de la cadena st en la consola junto con otro texto. El endl (línea final) mueve el cursor a la siguiente línea.
  14. Inserte un solo carácter E en la cadena denominada st desde su primer índice.
  15. Imprima el valor de la cadena st en la consola junto con otro texto. El endl (línea final) mueve el cursor a la siguiente línea.
  16. El programa debe devolver valor una vez completado con éxito.
  17. Fin del cuerpo de la función main().

#4: Usando std::stringstream

Para usar esta clase para convertir un carácter en una cadena, inserte el carácter en la secuencia.

Se escribirán en la cadena.

Ejemplo 8:

#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;
}

Salida:

Convertir carácter en cadena

Aquí hay una captura de pantalla del código:

Convertir carácter en cadena

Explicación del código:

  1. Incluya el archivo de encabezado iostream en nuestro código para usar sus funciones.
  2. Incluya el archivo de encabezado de cadena en nuestro código para usar sus funciones.
  3. Incluya el archivo de encabezado sstream en nuestro código para usar sus funciones.
  4. Incluya el espacio de nombres estándar en nuestro código para usar sus clases sin llamarlo.
  5. Llamando a la función main(). La lógica del programa debe agregarse dentro del cuerpo de esta función.
  6. Cree una variable de cadena llamada st.
  7. Cree una variable de flujo llamada myst.
  8. Inserte el carácter A en el objeto de flujo llamado myst.
  9. Convierte el objeto de flujo en una cadena.
  10. Imprima el valor de la cadena st en la consola junto con otro texto. El endl (línea final) mueve el cursor a la siguiente línea.
  11. El programa debe devolver valor una vez completado con éxito.
  12. Fin del cuerpo de la función main().

Resumen

  • Un char es un tipo de datos C++ utilizado para el almacenamiento de letras.
  • C++ Char es un tipo de datos integral, lo que significa que el valor se almacena como un número entero.
  • Ocupa un tamaño de memoria de 1 byte.
  • C++ Char solo almacena un solo carácter.
  • Los valores Char se interpretan como caracteres ASCII.
  • ASCII es un acrónimo de Código estándar americano para el intercambio de información.
  • Establece una forma específica de representar los caracteres ingleses en forma de números.
  • Para ver el valor ASCII de un carácter, lo pasamos a la función int().
  • Para ver el valor de carácter correspondiente al valor ASCII, definimos el ASCII como un carácter.