Convertir una cadena en una matriz de caracteres y una matriz de caracteres en una cadena en C++

En este artículo, nos centraremos en las diferentes formas de convertir una cadena en una matriz de caracteres y una matriz de caracteres en una cadena en C++ . Al trabajar con datos de cadena, es posible que necesitemos convertir los elementos de datos de cadena en una matriz de caracteres y viceversa. Este tutorial te ayudará a resolver exactamente eso.


Convertir una cadena en una matriz de caracteres en C++

C++ nos proporciona las siguientes técnicas para convertir una cadena en una matriz de caracteres:

  • Uso de las funciones c_str() y strcpy()
  • Usando un bucle for

1. La función c_str() y strcpy() en C++

La función C++ c_str()junto con strcpy()la función String de C++ se pueden utilizar para convertir una cadena en una matriz de caracteres fácilmente.

El método c_str() representa la secuencia de caracteres de una matriz de cadenas seguida de un carácter nulo (‘’) . Devuelve un puntero nulo a la cadena.

Sintaxis:

string-name.c_str();
  • Primero, usamos el método c_str() para obtener todos los caracteres de la cadena junto con un carácter nulo final.
  • Además, declaramos una matriz vacía de tipo char para almacenar el resultado, es decir, el resultado de la conversión de una cadena a una matriz de caracteres.
  • Finalmente, utilizamos el método strcpy() para copiar la secuencia de caracteres generada por el método c_str() a la matriz de caracteres vacía.

Ejemplo:

#include bits/stdc++.h using namespace std; int main() {  string str = "";cout"Enter the string:n";cinstr;char arr[str.length() + 1]; strcpy(arr, str.c_str());     cout"String to char array conversion:n";for (int i = 0; i  str.length(); i++) cout  arr[i]; return 0; } 

Producción:

Enter the string:JournalDevString to char array conversion:JournalDev

2. Conversión de cadena a matriz de caracteres en C++ mediante bucle for

Para la conversión de una matriz de caracteres en una cadena, podemos utilizar bucles for de C++ con facilidad.

  • Inicialmente, creamos una matriz vacía de tipo char
  • Después de esto, iteramos a través de la cadena de entrada.
  • Mientras iteramos, almacenamos los caracteres en la matriz de caracteres.

Ejemplo:

#include bits/stdc++.h using namespace std; int main() {  string str = "";cout"Enter the string:n";cinstr;char arr[str.length() + 1];     cout"String to char array conversion:n";    for (int x = 0; x  sizeof(arr); x++) {         arr[x] = str[x];         cout  arr[x];     } return 0; } 

Producción:

Enter the string:JournalDevString to char array conversion:JournalDev

Convertir una matriz de caracteres en una cadena en C++

Las técnicas mencionadas se pueden utilizar para convertir una matriz de caracteres en una cadena en C++:

  • El operador ‘+’
  • Operador ‘=’ sobrecargado en C++
  • Constructor incorporado de C++

1. Operador ‘+’ de C++

C++ nos permite '+' operatorconcatenar o agregar elementos de datos a una variable.

  • Creamos una nueva cadena vacía para almacenar el resultado.
  • Continuando, utilizamos un bucle for para recorrer la matriz de caracteres de entrada.
  • En el proceso de recorrer la matriz, utilizamos el operador ‘+’ para concatenar los caracteres a la cadena.

Ejemplo:

#include bits/stdc++.h using namespace std; int main() { char arr[] = { 'J', 'O', 'U', 'R', 'N', 'A', 'L', 'D', 'E', 'V' }; int size_arr = sizeof(arr) / sizeof(char); string str = ""; for (int x = 0; x  size_arr; x++) { str = str + arr[x]; } cout"Converted char array to string:n";cout  str  endl; return 0; } 

Producción:

Converted char array to string:JOURNALDEV

2. Operador ‘=’ sobrecargado en C++

C++ tiene el concepto de sobrecarga que hace que un operador realice otras operaciones además de la operación básica o predeterminada.

  • Inicialmente, creamos una nueva cadena vacía.
  • Usamos la función sobrecargada '=' operatorpara almacenar los elementos de datos carácter por carácter en la cadena vacía recién creada.

Ejemplo:

#include bits/stdc++.h using namespace std; int main() { char arr[] = { 'J', 'O', 'U', 'R', 'N', 'A', 'L', 'D', 'E', 'V' }; int size_arr = sizeof(arr) / sizeof(char); string str = ""; str = arr;cout"Converted char array to string:n";cout  str  endl; return 0; } 

Producción:

Converted char array to string:JOURNALDEV

3. Constructor incorporado de cadena de C++

En el contexto de la conversión de una matriz de caracteres a una cadena, podemos utilizar el constructor de cadenas de C++ para lo mismo.

Sintaxis:

string string-name(char array-name);

Este constructor toma una secuencia de caracteres terminada en un carácter nulo como parámetro de entrada.

Nota : Esto constructor string string()solo se puede usar en el momento de la declaración de cadena en todo el programa.

Ejemplo:

#include bits/stdc++.h using namespace std; int main() { char arr[] = { 'J', 'O', 'U', 'R', 'N', 'A', 'L', 'D', 'E', 'V' }; int size_arr = sizeof(arr) / sizeof(char); string str(arr);cout"Converted char array to string:n";cout str endl; return 0; } 

Producción:

Converted char array to string:JOURNALDEV

Conclusión

En este artículo, hemos comprendido varias técnicas para convertir cadenas en matrices de caracteres y viceversa en C++.


Referencias

  • Método c_str() de C++
SUSCRÍBETE A NUESTRO BOLETÍN 
No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio