Tipo de datos Char de C++ con ejemplos
¿Qué es Char?
Char es un tipo de datos de C++ diseñado para el almacenamiento de letras. Char es un acrónimo de un personaje. Es un tipo de datos integral, lo que significa que el valor se almacena como un número entero. Un char ocupa un tamaño de memoria de 1 byte. También almacena un solo carácter.
En este tutorial de C++, aprenderá:
- ¿Qué es Char?
- ¿Qué es ASCII?
- Declaración de Char
- Sintaxis:
- Impresión del valor ASCII
- Impresión del valor de caracteres
- Introducción de caracteres
- Conversión de carácter a cadena
¿Qué es ASCII?
El valor char se interpreta como un carácter ASCII. Esto es similar a cómo los valores booleanos se interpretan como verdaderos o falsos. ASCII es un acrónimo de American Standard Code for Information Interchange. 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 caracteres
Para declarar una variable char en C++, usamos la palabra clave char. Esto debe ser seguido por el 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:
Esta es la sintaxis para la declaración de char en C++:
char variable-name;
El nombre-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-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:
Aquí hay una captura de pantalla del código:
Explicación del código:
- Incluyendo el archivo de encabezado iostream en nuestro código para usar sus funciones.
- Incluyendo el espacio de nombres estándar en nuestro código para usar sus clases sin llamarlo.
- Llamar a la función main(). La lógica del programa debe agregarse dentro del cuerpo de esta función.
- Declare una variable de carácter llamada grado. A la variable también se le ha asignado un valor de B. Observe que el valor de la variable está entre comillas simples.
- Imprima el valor de la calificación variable junto con otro texto en la consola.
- El programa debe devolver valor al completarse con éxito.
- Fin del cuerpo de la función main().
Imprimiendo Valor ASCII
Como se indicó anteriormente, cada carácter se interpreta como un carácter ASCII. Es posible que obtenga el valor ASCII de cualquier carácter. Simplemente pasa el carácter a la función int(). Este proceso se llama fundició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:
Aquí hay una captura de pantalla del código:
Explicación del código:
- Incluir el archivo de encabezado iostream en nuestro código para usar sus funciones.
- Incluir el espacio de nombres estándar en nuestro código para usar sus clases sin llamarlo.
- Llamar a la función main(). La lógica del programa debe agregarse dentro del cuerpo de esta función.
- Declare una variable char llamada ch.
- Imprime algo de texto en la consola. El texto le pide al usuario que ingrese un valor para la variable ch.
- Lea la entrada del usuario desde el teclado y guárdela en la variable ch.
- 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.
- El programa debe devolver valor al completarse con éxito.
- Fin del cuerpo de la función main().
Impresión del valor de caracteres
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 del 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:
Aquí hay una captura de pantalla del código:
Explicación del código:
- Incluyendo el archivo de encabezado iostream en el código. Luego usaremos sus funciones sin obtener errores.
- Incluya el espacio de nombres estándar en el código. Usaremos sus clases sin llamarlo.
- Llamar a la función main(). La lógica del programa debe ir en el cuerpo de esta función.
- 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.
- Imprime el valor de la variable x en la consola. Dado que x se declaró como char, se devolverá el char con valor ASCII de 65, es decir, A.
- Imprime el valor de la variable y en la consola. Dado que y fue declarado como char, se devolverá el char con valor ASCII de 66, es decir, B.
- Imprime 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.
- El programa debe devolver valor al completarse con éxito.
- El final del cuerpo de la función main().
Introducción de caracteres
Podemos usar la función std::cin para leer un carácter ingresado por el usuario a través del teclado. El std::cin le permitirá ingresar muchos caracteres. Sin embargo, la variable de carácter solo puede contener un carácter. Esto significa que solo el primer carácter ingresado se extraerá y almacenará en la variable de carácter. El resto permanecerá en el búfer utilizado por std::cin. Para extraerlo, realice llamadas posteriores al archivo 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:
Aquí hay una captura de pantalla del código:
Explicación del código:
- Incluyendo el archivo de encabezado iostream en nuestro código para usar sus funciones.
- Incluya el espacio de nombres estándar en nuestro código para usar sus clases sin llamarlo.
- Llamar a la función main(). La lógica del programa debe agregarse dentro del cuerpo de esta función.
- Imprime algo de texto en la consola.
- Declare una variable de carácter llamada ch.
- Lee 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.
- Imprimiendo 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().
- Lee el siguiente carácter que ingresó el usuario. No se requerirá que el usuario ingrese un nuevo carácter. En su lugar, leerá el segundo carácter que se ingresó, es decir, b.
- 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().
- El programa debe devolver valor al completarse con éxito.
- Fin del cuerpo de la función main().
Conversión de carácter a cadena
Existen varias formas que podemos usar para convertir caracteres en cadenas.
Discutámoslos:
#1:Usando el Constructor dado por una Clase de Cadena
Esto se puede hacer usando la siguiente sintaxis:
string st(int n,char x);
El parámetro n denota el tamaño de la cadena que se va a 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:
Aquí hay una captura de pantalla del código:
Explicación del código:
- Incluyendo el archivo de encabezado iostream en nuestro código para usar sus funciones.
- Incluya el archivo de encabezado de cadena en nuestro código para usar sus funciones.
- Incluya el espacio de nombres estándar en nuestro código para usar sus clases sin llamarlo.
- Llamar a la función main(). La lógica del programa debe agregarse dentro del cuerpo de esta función.
- Convierta el carácter "C" en una cadena de 1 longitud y asigne la cadena resultante a la variable st.
- Imprime el valor de la cadena st en la consola junto con otro texto.
- El programa debe devolver valor al completarse con éxito.
- Fin del cuerpo de la función main().
#2) Uso de 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:
Aquí hay una captura de pantalla del código:
Explicación del código:
- Incluya el archivo de encabezado iostream en nuestro código para usar sus funciones.
- Incluya el archivo de encabezado de cadena en nuestro código para usar sus funciones.
- Incluya el espacio de nombres estándar en nuestro código para usar sus clases sin llamarlo.
- Llamar a la función main(). La lógica del programa debe agregarse dentro del cuerpo de esta función.
- Cree una variable de cadena llamada st.
- Cree un personaje llamado b con un valor de B.
- Asigne un valor de A a la cadena llamada st.
- Utilice el operador +=para convertir caracteres en una cadena.
- Imprime el valor de la cadena st en la consola junto con otro texto.
- El programa debe devolver valor al completarse con éxito.
- Fin del cuerpo de la función main().
#3:Usar métodos std::string
La clase std::string viene con muchas funciones sobrecargadas que pueden ayudarlo a convertir caracteres en cadenas.
Incluyen:
- retroceso
Esta función asigna un carácter particular al final de una cadena. Está sobrecargado de personajes.
Toma la siguiente sintaxis:
void push_back(char ch)
El parámetro ch es el carácter que se va a cambiar a una cadena.
- añadir
Asigna muchas copias de un carácter particular a una cadena.
La función toma la siguiente sintaxis:
string& append(size_t n,char ch)
El parámetro n denota las veces que se agregará el carácter.
El parámetro ch es el carácter que se agrega a la cadena.
- asignar
Esta función reemplaza el contenido actual de la cadena con n copias del carácter especificado.
Toma la siguiente sintaxis:
string& assign(size_t n,char ch);
El parámetro n indica 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.
Toma la siguiente 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 indica 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:
Aquí hay una captura de pantalla del código:
- Incluya el archivo de encabezado iostream en nuestro código para usar sus funciones.
- Incluya el archivo de encabezado de cadena en nuestro código para usar sus funciones.
- Incluya el espacio de nombres estándar en nuestro código para usar sus clases sin llamarlo.
- Llamar a la función main(). La lógica del programa debe agregarse dentro del cuerpo de esta función.
- Cree una variable de cadena llamada st.
- Asigne el carácter A al final de la cadena.
- Imprime 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.
- Establezca el valor de la cadena st en vacío.
- Asigne el carácter único C a la cadena denominada st.
- Imprime 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.
- Establezca el valor de la cadena st en vacío.
- Reemplace el contenido de la cadena st con un solo carácter D.
- Imprime 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.
- Inserte el carácter único E en la cadena denominada st desde su primer índice.
- Imprime 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.
- El programa debe devolver valor al completarse con éxito.
- Fin del cuerpo de la función main().
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:
Aquí hay una captura de pantalla del código:
Explicación del código:
- Incluya el archivo de encabezado iostream en nuestro código para usar sus funciones.
- Incluya el archivo de encabezado de cadena en nuestro código para usar sus funciones.
- Incluya el archivo de encabezado sstream en nuestro código para usar sus funciones.
- Incluya el espacio de nombres estándar en nuestro código para usar sus clases sin llamarlo.
- Llamar a la función main(). La lógica del programa debe agregarse dentro del cuerpo de esta función.
- Cree una variable de cadena llamada st.
- Cree una variable de flujo llamada myst.
- Inserte el carácter A en el objeto de flujo denominado myst.
- Convierta el objeto de flujo en una cadena.
- Imprime 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.
- El programa debe devolver valor al completarse con éxito.
- Fin del cuerpo de la función main().
Resumen:
- Un char es un tipo de datos de 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 de caracteres se interpretan como caracteres ASCII.
- ASCII es un acrónimo de American Standard Code for Information Interchange.
- 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 char correspondiente del valor ASCII, definimos el ASCII como un carácter.
Lenguaje C
- Tipos de datos de C++
- Conversión de tipos de Java
- ¡¿Qué hago con los datos ?!
- C++ do...while bucle con ejemplos
- Punteros de C++ con ejemplos
- Sobrecarga de operadores de C++ con ejemplos
- Estructura C++ con ejemplo
- std::list en C++ con ejemplo
- Funciones de C++ con ejemplos de programas
- Descubra el valor de IoT con la supervisión del rendimiento
- Tipos de variables de C++