C++ Tipo de datos Char con ejemplos
ยฟQuรฉ es Char?
Char es un C++ Tipo de datos diseรฑado para el almacenamiento de letras. Char es una abreviatura de un carรกcter alfanumรฉrico. Es un tipo de datos integral, lo que significa que el valor se almacena como un entero. Un char 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 el acrรณnimo de American Standard Code for Information Interchange. Define una forma especรญfica de representar caracteres ingleses como nรบmeros.
Los nรบmeros varรญan entre 0 y 127. Por ejemplo, el carรกcter 'a' es equivalente 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:
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 poder usar sus clases sin llamarlo.
- Llamando 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 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.
- Imprima el valor de la calificaciรณn variable junto con otro texto en la consola.
- El programa debe devolver valor una vez completado con รฉxito.
- 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:
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 poder utilizar sus funciones.
- Incluir el espacio de nombres estรกndar en nuestro cรณdigo para poder usar sus clases sin llamarlo.
- Llamando 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 solicita 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 una vez completado con รฉxito.
- Fin del cuerpo de la funciรณn main().
Valor de caracteres de impresiรณn
Dado un valor ASCII, el C++ El compilador 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:
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.
- Llamando a la funciรณn main(). La lรณgica del programa debe ir al 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.
- 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.
- 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.
- 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.
- El programa debe devolver valor una vez completado con รฉxito.
- El final del cuerpo de la funciรณn main().
Ingresando caracteres
Podemos utilizar la funciรณn std::cin para leer un carรกcter introducido por el usuario a travรฉs del teclado. La funciรณn std::cin le permitirรก introducir muchos caracteres. Sin embargo, la variable character solo puede contener un carรกcter. Esto significa que solo se extraerรก el primer carรกcter introducido y se almacenarรก en la variable character. El resto permanecerรก en el bรบfer utilizado por std::cin. Para extraerlo, realice llamadas posteriores a 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.
- Llamando 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.
- 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.
- 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().
- 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.
- 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 una vez completado con รฉxito.
- 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 utilizando la siguiente 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:
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.
- Llamando 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.
- Imprima el valor de la cadena st en la consola junto con otro texto.
- El programa debe devolver valor una vez completado con รฉxito.
- Fin del cuerpo de la funciรณn main().
#2) Usando std::string Operatores = y +=
Los operadores = y += ya estรกn sobrecargados con caracteres. Ambos pueden utilizarse para convertir un carรกcter determinado 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.
- Llamando 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.
- Crea un personaje llamado b con un valor de B.
- Asigne un valor de A a la cadena denominada st.
- Utilice el operador += para convertir caracteres en una cadena.
- Imprima el valor de la cadena st en la consola junto con otro texto.
- El programa debe devolver valor una vez completado con รฉxito.
- 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.
Dichas certificaciones incluyen:
- hacer retroceder Esta funciรณn asigna un carรกcter particular al final de una cadena. Estรก sobrecargada con caracteres. Tiene la siguiente 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 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. Adopta la siguiente 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, tal como se especifica en los argumentos. Tiene 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 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:
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.
- Llamando 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.
- 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.
- Establezca el valor de la cadena st en vacรญo.
- Asigne un solo carรกcter C a la cadena denominada st.
- 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.
- Establezca el valor de la cadena st en vacรญo.
- Reemplace el contenido de la cadena st con un solo carรกcter D.
- 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.
- Inserte un solo carรกcter E en la cadena denominada st desde su primer รญndice.
- 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.
- El programa debe devolver valor una vez completado con รฉxito.
- 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:
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.
- Llamando 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 llamado myst.
- Convierte el objeto de flujo en una cadena.
- 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.
- El programa debe devolver valor una vez completado con รฉxito.
- Fin del cuerpo de la funciรณn main().
Resumen
- Un carรกcter es un C++ Tipo de datos utilizado para el almacenamiento de cartas.
- 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 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.









