String to Char Array C ++

String to Char Array C ++

La maggior parte di noi deve aver incontrato errori come "Impossibile convertire std :: string in char [] o char* tipo di dati."Impareremo come tradurre una stringa in un array di caratteri in questo articolo. Controlliamo alcuni di loro uno alla volta.

Tutti questi nuovi metodi ci aiuteranno a spiegare la nuova tecnica per fare la stessa cosa ma con un approccio diverso. Ampliarà le nostre conoscenze per vedere problemi da diverse angolazioni e realizzare e utilizzare approcci diversi per risolvere quel problema da ciascuna prospettiva.

Per modificare e modificare stringhe e caratteri, C ++ offre tecniche facili ed efficaci. Esamineremo alcune delle funzionalità di manipolazione delle stringhe più elementari e alcuni esempi di come usarle. Mostra anche come utilizzare alcune delle strutture della libreria Boost per estendere la stringa e le funzionalità dei caratteri di C ++.

Inizialmente, creiamo un file nel nostro terminale usando il seguente comando:

$ nano dev.CPP

Il comando sopra aprirà un file C ++ per l'uso nel terminale di Alpine Linux 3.12.0, e ora possiamo iniziare a implementare i nostri esempi.

Esempio 1:

Uno dei primi metodi che useremo nel nostro primo esempio è copiare i dati della stringa in una matrice di char. La copia dei dati di stringa su Char può essere eseguita utilizzando le funzioni della libreria cstring c_str () e strcpy ().

Fondamentalmente, per restituire il puntatore a un array che contiene una sequenza di caratteri terminata nulla che rappresenta il valore corrente della stringa, C_STR () viene utilizzato.

Non ci sono modifiche apportate nella stringa se viene lanciata un'eccezione. Utilizzando la funzione strcpy (), copriamo da String a Char quando richiesto per accedere o trovare singoli elementi. Una volta che lo copriamo, possiamo usarlo come array. La lunghezza della stringa non deve essere inferiore alla lunghezza dell'array di carbone.

In questo esempio, metteremo prima le nostre biblioteche richieste nell'intestazione; Nel nostro caso, abbiamo bisogno di librerie iostream e cstring. Intendiamo convertire la nostra stringa "sviluppatore" in char "d e v e l o p e r."

Abbiamo inizializzato una stringa S = "Sviluppatore", ha salvato la lunghezza in un nome intero "N", e abbiamo anche dichiarato un array di carbone in cui salveremo i nostri caratteri convertiti dalla stringa. Usando strcpy (), copiamo i dati da String "S" e li inseriamo nell'array char.

Ora che abbiamo convertito o copiato correttamente la stringa in un array di carbone, useremo per loop per visualizzare o stampare i caratteri char per assicurarci di ottenere gli stessi personaggi.

Compileremo un programma C ++ usando i seguenti comandi.

$ g ++ -o dev dev.CPP

Per verificare se il nostro array Char ha ricevuto i dati copiati dalla stringa "S" o meno, dovremo eseguire il nostro programma utilizzando il seguente comando mostrato di seguito:

$ ./dev

L'output del seguente programma è riportato di seguito; Come possiamo vedere, abbiamo copiato e convertito correttamente la nostra stringa S in carbone usando la funzione strcpy ().

Esempio n. 2

Questo esempio è per coloro che sono a disagio con il primo esempio e vogliono ampliare la propria conoscenza e pratica. Questo è forse l'approccio più fattibile ed efficace. La posizione del primo carattere della stringa può essere assegnata direttamente a un puntatore a Char. Tuttavia, se il tuo ragionamento richiede un duplicato della stringa, questo dovrebbe essere il metodo di scelta.

Nell'esempio sopra, non stiamo usando alcuna funzione di copia come strcpy (), ma ciò non significa che lo stiamo facendo nel modo più duro. Dobbiamo pensare in modo intelligente.

Innanzitutto, dobbiamo dichiarare e inizializzare un array di punta. Abbiamo il nostro oggetto String pronto per essere convertito sotto forma di STR ("Dveloper"). Abbiamo assegnato direttamente il primo oggetto della stringa STR al puntatore, che estraggerà tutti gli altri oggetti.

Ad esempio, se gli diamo "Chararray = & STR [2]", sta per afferrare la lettera "V" nello "sviluppatore" e stampare tutti gli altri oggetti, come "Veloper."L'output del seguente programma è mostrato di seguito; Come si può vedere, abbiamo convertito correttamente la nostra stringa in carbone usando il puntamento diretto anziché la funzione strcpy ().

Esempio n. 3

Questo esempio è per le persone che cercano un buon esempio senza alcuna funzione e una libreria integrata per la conversione.

Nell'esempio n. 3, faremo uso di un semplice algoritmo in cui seguiremo i passaggi seguenti:

L'obiettivo è convertire le stringhe in caratteri. Inizieremo assegnando un valore alla stringa STR che vorremmo convertire in Char, che è l'obiettivo del nostro programma. Useremo per loop e lo facciamo funzionare alle dimensioni della lunghezza della stringa.

In questo metodo, iteliamo attraverso ogni carattere della stringa data e lo assegniamo tutti al rispettivo indice dell'array char. Nel loop per mettiamo l'oggetto di ciascun oggetto uguale al valore dell'oggetto dell'array char, che riempie automaticamente l'intero array di char con la stringa.

Il risultato del seguente programma è mostrato di seguito, che può essere visto. Abbiamo usato un ciclo semplice per convertire correttamente una stringa in carbone.

Esempio #4

Il 4 ° esempio riguarda la funzione Copy () semplice che può essere utilizzata anche per convertire la stringa in caratteri. Non c'è nulla di diverso in questo programma da altri metodi; Dobbiamo solo usare una semplice funzione di copia () che richiede tre argomenti: inizia la fine, nome dell'array.

Ad esempio, dobbiamo copiare String STR nel nome dell'array del personaggio Chararray. Possiamo usare la seguente sintassi:

# Copia (STR.inizio (), str.end (), chararray)


Dopo aver eseguito la seguente funzione con la sintassi appropriata, possiamo stampare il seguente array in cui abbiamo trasferito la seguente stringa.

Di conseguenza, abbiamo il seguente output, che ci porta al nostro obiettivo di convertire con successo una stringa in un array di caratteri.

Conclusione:

Alla fine, speriamo che siamo stati in grado di farti camminare attraverso alcuni degli esempi in cui è possibile convertire la stringa in carbone in più di un modo. L'articolo sopra ha discusso delle molteplici tecniche per convertire una stringa in caratteri in alpine Linux 3.12.0. Per raggiungere questo obiettivo, abbiamo superato quattro diverse tecniche che puoi usare per convertire una stringa in caratteri in C ++ facilmente. Quelle tre diverse tecniche erano la funzione strcpy (), copy (), l'iterating per loop e l'uso di puntatori. Di conseguenza, queste spiegazioni saranno piuttosto utili per quando è necessario convertire una stringa in caratteri in alpino Linux 3.12.0 c++.