Convertir una cadena en una matriz de caracteres

C++C++Beginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/BasicsGroup(["Basics"]) cpp(("C++")) -.-> cpp/ControlFlowGroup(["Control Flow"]) cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp(("C++")) -.-> cpp/StandardLibraryGroup(["Standard Library"]) cpp(("C++")) -.-> cpp/SyntaxandStyleGroup(["Syntax and Style"]) cpp/BasicsGroup -.-> cpp/variables("Variables") cpp/BasicsGroup -.-> cpp/arrays("Arrays") cpp/BasicsGroup -.-> cpp/strings("Strings") cpp/ControlFlowGroup -.-> cpp/for_loop("For Loop") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/IOandFileHandlingGroup -.-> cpp/user_input("User Input") cpp/StandardLibraryGroup -.-> cpp/string_manipulation("String Manipulation") cpp/SyntaxandStyleGroup -.-> cpp/code_formatting("Code Formatting") subgraph Lab Skills cpp/variables -.-> lab-96182{{"Convertir una cadena en una matriz de caracteres"}} cpp/arrays -.-> lab-96182{{"Convertir una cadena en una matriz de caracteres"}} cpp/strings -.-> lab-96182{{"Convertir una cadena en una matriz de caracteres"}} cpp/for_loop -.-> lab-96182{{"Convertir una cadena en una matriz de caracteres"}} cpp/output -.-> lab-96182{{"Convertir una cadena en una matriz de caracteres"}} cpp/user_input -.-> lab-96182{{"Convertir una cadena en una matriz de caracteres"}} cpp/string_manipulation -.-> lab-96182{{"Convertir una cadena en una matriz de caracteres"}} cpp/code_formatting -.-> lab-96182{{"Convertir una cadena en una matriz de caracteres"}} end

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.