A maioria de nós deve ter encontrado erros como “não é possível converter std :: string para char [] ou char* tipo de dados.”Vamos aprender a traduzir uma string para uma matriz de personagens neste artigo. Vamos verificar alguns deles um de cada vez.
Todos esses novos métodos nos ajudarão a explicar a nova técnica para fazer a mesma coisa, mas com uma abordagem diferente. Isso vai ampliar nosso conhecimento para ver problemas de diferentes ângulos e realizar e utilizar abordagens diferentes para resolver esse problema de cada perspectiva.
Para alterar e modificar strings e caracteres, o C ++ oferece técnicas fáceis e eficazes. Vamos analisar alguns dos recursos mais básicos de manipulação de string e alguns exemplos de como usá -los. Ele também mostra como usar algumas das instalações da biblioteca Boost para estender as funcionalidades da string e do caractere de C ++.
No começo, vamos criar um arquivo em nosso terminal usando o seguinte comando:
$ nano dev.cpp
O comando acima abrirá um arquivo C ++ para uso no terminal do alpino Linux 3.12.0, e agora podemos começar a implementar nossos exemplos.
Exemplo 1:
Um dos primeiros métodos que usaremos em nosso primeiro exemplo é copiar os dados da string em uma matriz de char. Copiar dados de string para char podem ser executados usando as funções da biblioteca CString c_str () e strcpy ().
Basicamente, para retornar o ponteiro a uma matriz que contém uma sequência de caracteres terminada em nulo que representa o valor atual da string, c_str () é usado.
Não há alterações feitas na string se uma exceção for lançada. Usando a função strcpy (), copiamos de string para char quando necessário para acessar ou encontrar elementos individuais. Depois de copiá -lo, podemos usá -lo como uma matriz. O comprimento da corda não deve ser menor que o comprimento da matriz de char.
Neste exemplo, primeiro colocaremos nossas bibliotecas necessárias no cabeçalho; No nosso caso, exigimos bibliotecas iostream e cString. Pretendemos converter nossa string "desenvolvedor" em char "d e v e l o p e r.”
Inicializamos uma string s = "desenvolvedor", salvamos o comprimento em um nome inteiro "n", e também declaramos uma matriz de char onde salvaremos nossos personagens de char convertidos da string. Usando strcpy (), copiamos os dados da string "s" e colocamos -os na matriz de char.
Agora que convertemos ou copiamos com sucesso a string em uma matriz de char, usaremos o loop para exibir ou imprimir os caracteres de char para garantir que obteremos os mesmos personagens.
Vamos compilar um programa C ++ usando os seguintes comandos.
$ g ++ -o Dev Dev.cpp
Para verificar se nossa matriz de char recebeu os dados copiados da string "s" com sucesso ou não, teremos que executar nosso programa usando o seguinte comando mostrado abaixo:
$ ./dev
A saída do programa a seguir é fornecida abaixo; Como podemos ver, copiamos e convertemos com sucesso nossas strings para char usando a função strcpy ().
Exemplo # 2
Este exemplo é para aqueles que se sentem desconfortáveis com o primeiro exemplo e desejam ampliar seus conhecimentos e práticas. Esta é talvez a abordagem mais viável e eficaz. A posição do primeiro personagem da sequência pode ser atribuída diretamente a um ponteiro para char. No entanto, se seu raciocínio exigir uma duplicata da string, esse deve ser o método de escolha.
No exemplo acima, não estamos usando nenhuma função de cópia como strcpy (), mas isso não significa que estamos fazendo da maneira mais difícil. Temos que pensar de maneira inteligente.
Primeiro, temos que declarar e inicializar uma matriz de ponteiro e fazer isso para uma matriz. Temos nosso objeto String pronto para ser convertido na forma de STR ("Dveloper"). Atribuímos diretamente o primeiro objeto da string str para o ponteiro, que extrairá todos os outros objetos.
Por exemplo, se o dermos "CharArray = & str [2]", vai pegar a letra "V" no "desenvolvedor" e imprimir todos os outros objetos, como "Valeper.”A saída do programa a seguir é mostrada abaixo; Como pode ser visto, convertemos com sucesso nossa string para char usando apontamento direto em vez da função strcpy ().
Exemplo # 3
Este exemplo é para as pessoas que procuram um bom exemplo, sem absolutamente nenhuma função e uma biblioteca embutida para conversão.
No Exemplo#3, vamos usar um algoritmo simples, onde seguiremos as etapas abaixo:
O objetivo é converter strings em chars. Começaremos atribuindo um valor à String STR que gostaríamos de converter para Char, que é o objetivo do nosso programa. Vamos usar para loop e fazê -lo correr para o tamanho do comprimento da string.
Neste método, iteramos através de todos os personagens da string dada e alocamos todos eles ao respectivo índice do Char Array. No loop for, colocamos os iguais de cada objeto de string ao valor do objeto da matriz de char, que preenche automaticamente toda a matriz de char com a string.
O resultado do programa a seguir é mostrado abaixo, o que pode ser visto. Usamos um simples para o loop para converter com sucesso uma string para char.
Exemplo #4
O 4º exemplo é sobre a função de cópia simples () que também pode ser utilizada para converter a string em caracteres. Não há nada diferente neste programa de outros métodos; Só temos que usar uma função simples de copy () que leva três argumentos: comece o final, nome da matriz.
Por exemplo, devemos copiar string str para o nome da matriz do personagem CharArray. Podemos usar a seguinte sintaxe:
# Cópia (STR.BEGIN (), STR.end (), chararray)
Depois de executar a seguinte função com a sintaxe apropriada, podemos imprimir a seguinte matriz para a qual transferimos a seguinte sequência.
Como resultado, temos a seguinte saída, o que nos leva ao nosso objetivo de converter com sucesso uma string em uma matriz de caracteres.
Conclusão:
No final, esperamos que pudéssemos fazer você caminhar por alguns dos exemplos em que você pode converter string para char de mais de uma maneira. O artigo acima discutiu as múltiplas técnicas para converter uma string em caracteres no Alpine Linux 3.12.0. Para conseguir isso, superamos quatro técnicas diferentes que você pode usar para converter uma string em caracteres em C ++ facilmente. Essas três técnicas diferentes foram a função strcpy (), cópia (), a iteração para loop e usando ponteiros. Como resultado, essas explicações serão bastante úteis para quando você precisar converter uma string em chars no alpino Linux 3.12.0 c++.