c character conversion functions
Este tutorial cubre las funciones de conversión de caracteres de C ++, como la conversión de un carácter a entero o una matriz de cadena y caracteres a cadena con ejemplos de código:
En C ++, a medida que desarrollamos aplicaciones que involucran muchos tipos, se hace necesario convertir de un tipo a otro. Ya hemos visto algunas conversiones de tipos básicos en nuestros tutoriales anteriores.
También hemos visto conversiones de cadenas y conversión de tipos numéricos a cadenas. Aparte de las funciones de conversión de cadenas que ya hemos visto, hay algunas funciones que se utilizan para convertir un carácter en otros tipos de datos.
Estas son las funciones que toman un solo carácter o una matriz de caracteres y luego los convierten a otros tipos de datos.
=> Lea la serie de formación Easy C ++.
Lo que vas a aprender:
- Funciones de conversión de caracteres C ++
- Conclusión
Funciones de conversión de caracteres C ++
Cuando se trata de la conversión de un solo carácter a entero o cadena y la conversión de matriz de caracteres a cadena, las funciones de conversión cambian ligeramente de las funciones de conversión de cadena.
con qué abrir archivos swf
En este tutorial discutiremos las siguientes conversiones:
- Conversión de carácter a entero (char a int C ++)
- Conversión de carácter a cadena (char a cadena C ++)
- Conversión de matriz de caracteres a cadena
Las dos primeras conversiones tratan con un solo carácter, mientras que la última conversión implica una matriz de caracteres.
Convertir carácter a entero - char a int
Para convertir un solo carácter en un tipo entero, tenemos dos métodos como se indica a continuación:
# 1) Casting
Podemos usar la operación de conversión para convertir un solo carácter en su equivalente entero. En este caso, se mostrará el equivalente ASCII del carácter.
Considere la siguiente conversión,
|_+_|En este caso, 'num' tendrá el valor 65, que es el equivalente ASCII del carácter 'A'.
Alternativamente, podemos usar la siguiente operación si queremos convertir un carácter numérico en un valor entero.
|_+_|Aquí, 48 es el valor ASCII de 0. Lo que se hace aquí es que la segunda línea a-48 convierte implícitamente char a en su equivalente ASCII y luego lo resta de 48 (50-48) que da como resultado un valor entero 2.
# 2) Usando stringstream
Como ya se vio en el tutorial sobre funciones de conversión de cadenas, podemos convertir un solo carácter representado como un objeto stringstream en un entero o cualquier valor numérico.
A continuación se muestra un código para demostrar esto.
|_+_|Producción:
Valor convertido del carácter 5: 5
Convertir carácter en cadena - char en cadena
Hay varias formas de convertir un solo carácter en una cadena.
Analicemos algunos de estos métodos.
# 1) Usando un constructor proporcionado por una clase de cadena.
Prototipo de función: cadena s (int n, char x);
Parámetro (s):
n => Tamaño de la cadena a generar.
x => Carácter que se va a convertir en una cadena.
Valor devuelto: s tring obtenido por conversión de carácter.
Descripción: El constructor de la clase de cadena toma la longitud de la cadena (n) y un solo carácter como parámetros y luego convierte el carácter en cadena.
A continuación se muestra un ejemplo sencillo para demostrar la conversión de un solo carácter en una cadena.
|_+_|Producción:
La cadena obtenida al convertir un solo carácter: A
La conversión anterior es sencilla. Llamamos al constructor de cadenas y especificamos la longitud de la cadena (primer parámetro) como 1 ya que estamos convirtiendo un solo carácter y el segundo parámetro es el carácter que se convertirá en cadena (en este caso, 'A').
# 2) Usando std :: string Operator = And + =
Los operadores de clase std :: string, = y + = están sobrecargados de caracteres. Entonces podemos usar estos operadores para convertir un solo carácter en una cadena.
Esto se demuestra en el programa que se muestra a continuación.
|_+_|Producción:
La cadena obtenida al convertir un solo carácter: CB
En este programa, hemos utilizado los dos operadores sobrecargados, = y + =. Hemos declarado un objeto de cadena y luego le hemos asignado un carácter usando el operador =. Luego usamos el operador + = y asignamos otro carácter al objeto de cadena.
Vemos que la segunda vez que el personaje se concatena con el contenido ya existente en el objeto de cadena.
# 3) Usando varios métodos de std :: string
La clase std :: string admite varios métodos sobrecargados mediante los cuales podemos pasar un carácter a una cadena que finalmente convierte un carácter en una cadena.
Algunos de los métodos de la clase std :: string son:
- hacer retroceder
Prototipo de función: anular push_back (carácter c)
Parámetro (s): c => Carácter que se asignará a la cadena
Valor devuelto: devoluciones nulas
Descripción: Esta función está sobrecargada de caracteres y asigna un carácter al final de la cadena.
- adjuntar
Prototipo de función: cadena y anexar (tamaño_t n, carácter c)
Parámetro (s):
n => Número de veces que se debe agregar el carácter.
c => Carácter que se agregará a la cadena.
Valor devuelto: Cadena obtenida por conversión de carácter.
Descripción: La función Append de std :: string toma dos argumentos. El primer argumento es el número de veces que se copiará el carácter en la cadena. El segundo argumento es el carácter real que se va a copiar. Entonces, la función de agregar asignará esas muchas copias de caracteres a la cadena como se especifica en el primer argumento.
- asignar
Prototipo de función: cadena & asignar (tamaño_t n, carácter c);
Parámetro (s):
n => Número de copias del personaje.
c => Carácter que se va a copiar a la cadena.
Valor devuelto: Cadena obtenida por conversión de carácter.
Descripción: La función de asignación reemplaza el contenido actual de la cadena con n (primer argumento) copias del carácter (segundo argumento).
- insertar
Prototipo de función: string & insert (size_t pos, size_t n, char c);
Parámetro (s):
pos => Posición al comienzo de la cual se insertarán los caracteres.
n => Número de copias del personaje.
c => Carácter que se insertará en la cadena.
Valor devuelto: Cadena obtenida por conversión de carácter.
Descripción: Esta función inserta n (segundo argumento) copias de carácter (tercer argumento) en la posición inicial de la cadena especificada por pos (primer argumento).
A continuación, desarrollaremos un programa que demuestra todas las funciones anteriores de la clase std :: string.
|_+_|Producción:
push_back carácter único: A
agregar un solo carácter: C
asignar un solo carácter: D
insertar un solo carácter: BD
El programa anterior demuestra las funciones push_back, agregar, asignar e insertar. La salida muestra el resultado o la cadena devuelta por cada función.
#4) Usando std :: stringstream
Ya hemos discutido la conversión de tipos numéricos a una cadena usando stringstream. La conversión de carácter a una cadena también sigue el mismo principio cuando se usa una clase de cadena.
El carácter dado se inserta en la secuencia y luego el contenido se escribe en la cadena.
Dejemos esto claro usando un programa C ++.
|_+_|Producción:
La cadena obtenida al convertir un solo carácter: A
Primero insertamos el carácter en el objeto de flujo y luego ese búfer se escribe en el objeto de cadena. Por tanto, la salida del programa muestra el contenido del objeto de cadena que es un solo carácter.
Convertir matriz de caracteres en cadena
La clase std :: string tiene muchos métodos que pueden resultar útiles al tratar con matrices de caracteres. Por lo tanto, es recomendable convertir matrices de caracteres en objetos de cadena y luego usarlas para que podamos escribir programas eficientes.
Hay dos métodos para convertir la matriz de caracteres en una cadena como se muestra a continuación.
# 1) Usando String Constructor
Como ya se comentó para convertir un solo carácter en una cadena, podemos hacer uso del constructor de cadenas para convertir una matriz de caracteres en una cadena.
Prototipo de función: cadena (const char * s);
Parámetros: s => matriz de caracteres terminada en nulo para convertir a cadena
Valor devuelto: cadena => cadena convertida
Descripción: Este constructor sobrecargado de la clase std :: string toma la matriz de caracteres o la cadena C como argumento y devuelve la cadena.
El siguiente programa demuestra esta conversión.
|_+_|Producción:
Cadena convertida: Ayuda para pruebas de software
El programa anterior es bastante simple. Todo lo que se necesita es solo una llamada al constructor std :: string para convertir la matriz de caracteres dada en una cadena.
# 2) Usando = Operador sobrecargado
Otro enfoque para convertir una matriz de caracteres en un objeto de cadena es usar un operador = sobrecargado. En esto, podemos asignar directamente la matriz de caracteres al objeto de cadena usando el operador = y el contenido se pasará a la cadena.
El siguiente ejemplo muestra esto.
|_+_|Producción:
Cadena convertida: Ayuda para pruebas de software
El programa anterior asigna la matriz directamente a un objeto de cadena usando el operador = que da como resultado que el contenido de la matriz de caracteres se copie al objeto de cadena.
Conclusión
Hemos visto varios métodos para convertir un solo carácter, así como matrices de caracteres en objetos de cadena. Dado que la clase std :: string tiene muchas funciones que nos permiten manipular las cadenas de manera eficiente, siempre es útil trabajar con datos de caracteres convirtiéndolos primero en cadenas.
Más lecturas = >> Convertir Char a Int en Java
Más lecturas = >> Convertir Char a String en Java
También podemos usar métodos de clase para convertir datos de caracteres en cadenas. En esto, primero insertamos los datos en la secuencia y luego escribimos este búfer en un objeto de cadena.
En nuestros tutoriales posteriores, discutiremos una clase de secuencia de cadenas y más funciones de biblioteca en C ++ en detalle.
=> Consulte aquí para ver los tutoriales de formación de A-Z de C ++.
Lectura recomendada
- Funciones de cadena de Python
- Tutorial Java String con String Buffer y String Builder
- Funciones de transformación y clasificación de caracteres C ++
- Funciones de cadena de VBScript: funciones de VBScript inStr, Replace, Mid y Trim
- Tutorial de división de cadenas de Python
- Tutorial de cadenas de C #: métodos de cadena con ejemplos de código
- Cadenas en C ++ con ejemplos
- Funciones de biblioteca en C ++