Convertir una cadena en una matriz de caracteres

C++Beginner
Practicar Ahora

Introducción

En este laboratorio, demostraremos cómo convertir una cadena en una matriz de caracteres en C++. El método c_str() definido dentro de la biblioteca string.h se utiliza para convertir la cadena en una matriz de caracteres.

Incluir bibliotecas y definir espacio de nombres

Creamos un nuevo archivo llamado main.cpp en el directorio ~/project con el siguiente comando:

touch ~/project/main.cpp

Primero, necesitamos incluir los archivos de encabezado necesarios y definir el espacio de nombres std que usaremos.

#include <iostream>
#include <string.h>

using namespace std;

Declarar variables e ingresar una cadena

Declaramos una variable string y le pedimos al usuario que ingrese una cadena sin ningún espacio.

int main()
{
    string s;
    cout << "Enter a string without any space: ";
    cin >> s;
}

Crear una matriz de caracteres a partir de una cadena

Creamos una matriz de caracteres a partir de la cadena de entrada utilizando la función strncpy. El operador sizeof se utiliza para determinar el tamaño de la matriz.

char cArray[1024];
strncpy(cArray, s.c_str(), sizeof(cArray));

Inicializar los elementos de la matriz a cero

Para evitar valores basura en la matriz, inicializamos todos los elementos de la matriz a cero con la siguiente declaración.

cArray[sizeof(cArray) - 1] = 0;

Imprimir los elementos de la matriz

Luego, recorremos la matriz para imprimir todos sus elementos.

for (int i = 0; cArray[i]!= 0; i++)
{
    cout << "cArray[ " << i << " ]: " << cArray[i] << endl;
}

Para compilar y ejecutar el código, use el siguiente comando en la terminal:

g++ main.cpp -o main && ./main

Resumen

En este laboratorio, aprendimos cómo convertir una cadena en una matriz de caracteres en C++. El método c_str() se utiliza para crear una matriz de caracteres a partir de la cadena de entrada. Inicializamos todos los elementos de la matriz a cero y luego recorrimos la matriz para imprimir todos sus elementos.