Converter String para Array de Caracteres

C++Beginner
Pratique Agora

Introdução

Neste laboratório, demonstraremos como converter uma string em um array de caracteres em C++. O método c_str() definido na biblioteca string.h é usado para converter a string em um array de caracteres.

Incluir Bibliotecas e Definir Namespace

Criaremos um novo arquivo chamado main.cpp no diretório ~/project usando o seguinte comando:

touch ~/project/main.cpp

Primeiramente, precisamos incluir os arquivos de cabeçalho necessários e definir o namespace std, que usaremos.

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

using namespace std;

Declarar Variáveis e Inserir String

Declaramos uma variável string e pedimos ao usuário para inserir uma string sem nenhum espaço.

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

Criar um Array de Caracteres a partir da String

Criamos um array de caracteres a partir da string de entrada usando a função strncpy. O operador sizeof é usado para determinar o tamanho do array.

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

Inicializar Elementos do Array para Zero

Para evitar valores de lixo (garbage values) no array, inicializamos todos os elementos do array para zero usando a seguinte instrução.

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

Imprimir Elementos do Array

Em seguida, iteramos pelo array para imprimir todos os elementos.

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

Para compilar e executar o código, use o seguinte comando no terminal:

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

Resumo

Neste laboratório, aprendemos como converter uma string em um array de caracteres em C++. O método c_str() é usado para criar um array de caracteres a partir da string de entrada. Inicializamos todos os elementos do array para zero e, em seguida, iteramos pelo array para imprimir todos os seus elementos.