String to char Array C ++

String to char Array C ++

La plupart d'entre nous doivent avoir rencontré des erreurs comme «Impossible de convertir Std :: String en char [] ou du type de données de char *."Nous apprendrons à traduire une chaîne en un tableau de caractères dans cet article. Voyons quelques-uns d'entre eux un à la fois.

Toutes ces nouvelles méthodes nous aideront à expliquer la nouvelle technique pour faire la même chose mais avec une approche différente. Cela va élargir nos connaissances pour voir les problèmes sous différents angles et réaliser et utiliser différentes approches pour résoudre ce problème de chaque point de vue.

Pour modifier et modifier les chaînes et les caractères, C ++ offre des techniques faciles et efficaces. Nous passerons en revue certaines des caractéristiques de manipulation des cordes les plus basiques et quelques exemples de comment les utiliser. Il montre également comment utiliser certaines des installations de la bibliothèque Boost pour étendre les fonctionnalités de chaîne et de caractère de C ++.

Au début, créons un fichier dans notre terminal en utilisant la commande suivante:

$ nano dev.cpp

La commande ci-dessus ouvrira un fichier C ++ à utiliser dans le terminal d'Alpine Linux 3.12.0, et maintenant nous pouvons commencer à implémenter nos exemples.

Exemple 1:

L'une des premières méthodes que nous utiliserons dans notre premier exemple est de copier les données de la chaîne dans un tableau de char. La copie des données de chaîne à char peut être effectuée à l'aide des fonctions de bibliothèque CString c_str () et strcpy ().

Fondamentalement, pour retourner le pointeur vers un tableau qui contient une séquence de caractères à terminaison nulle qui représente la valeur actuelle de la chaîne, c_str () est utilisée.

Il n'y a aucune modification apportée dans la chaîne si une exception est lancée. En utilisant la fonction strcpy (), nous copie de la chaîne à char lorsque vous avez besoin d'accéder ou de trouver des éléments individuels. Une fois que nous l'avons copie, nous pouvons l'utiliser comme tableau. La longueur de la chaîne ne doit pas être inférieure à la longueur du tableau char.

Dans cet exemple, nous allons d'abord mettre nos bibliothèques requises dans l'en-tête; Dans notre cas, nous avons besoin de bibliothèques iOStream et CString. Nous avons l'intention de convertir notre chaîne «développeur» en char «d e v e l o p e r."

Nous avons initialisé une chaîne s = «développeur», a sauvé la longueur dans un nom entier «n», et nous avons également déclaré un tableau de char où nous sauverons nos caractères de char convertis de la chaîne. À l'aide de strcpy (), nous copie les données de la chaîne «S» et la plaçons dans le tableau char.

Maintenant que nous avons réussi à convertir ou à copier la chaîne en un tableau char, nous utiliserons pour Loop pour afficher ou imprimer les caractères char pour nous assurer que nous obtenons les mêmes caractères.

Nous allons compiler un programme C ++ en utilisant les commandes suivantes.

$ g ++ -o dev.cpp

Pour vérifier si notre tableau char a reçu les données copiées de la chaîne «S» avec succès ou non, nous devrons exécuter notre programme en utilisant la commande suivante ci-dessous:

$ ./ dev

La sortie du programme suivant est donnée ci-dessous; Comme nous pouvons le voir, nous avons copié et converti notre chaîne S à Char en utilisant la fonction Strcpy ().

Exemple n ° 2

Cet exemple est pour ceux qui sont mal à l'aise avec le premier exemple et qui souhaitent élargir leurs connaissances et leur pratique. C'est peut-être l'approche la plus réalisable et la plus efficace. La position du premier caractère de la chaîne peut être directement attribuée à un pointeur pour char. Cependant, si votre raisonnement nécessite un double de la chaîne, cela devrait être la méthode de choix.

Dans l'exemple ci-dessus, nous n'utilisons aucune fonction de copie telle que strcpy (), mais cela ne signifie pas que nous le faisons à la dure. Nous devons penser intelligemment.

Tout d'abord, nous devons déclarer et initialiser un tableau de pointeur et faire un point vers un tableau. Nous avons notre objet String prêt à être converti sous la forme de STR («DEVELER»). Nous avons directement attribué le premier objet de la chaîne STR au pointeur, qui extraire tous les autres objets le long.

Par exemple, si nous lui donnons «chararray = & str [2]», il va saisir la lettre «V» dans le «développeur» et imprimer tous les autres objets, comme «Veloper.«La sortie du programme suivant est illustrée ci-dessous; Comme on peut le voir, nous avons réussi à convertir notre chaîne en char en utilisant un pointage direct au lieu de la fonction strcpy ().

Exemple n ° 3

Cet exemple est pour les personnes à la recherche d'un bon exemple sans aucune fonction et une bibliothèque intégrée pour la conversion.

Dans l'exemple n ° 3, nous allons utiliser un algorithme simple où nous allons suivre les étapes ci-dessous:

L'objectif est de convertir les chaînes en caractères. Nous commencerons par attribuer une valeur à la chaîne STR que nous aimerions convertir à Char, qui est l'objectif de notre programme. Nous allons utiliser pour la boucle et le faire fonctionner à la taille de la longueur de la chaîne.

Dans cette méthode, nous itérons à travers chaque caractère de la chaîne donnée et les allons tous à l'indice respectif du tableau charbon. Dans la boucle FOR, nous mettons les égaux de chaque objet de chaîne à la valeur de l'objet du tableau char, qui remplit automatiquement l'ensemble du tableau char avec la chaîne.

Le résultat du programme suivant est illustré ci-dessous, qui peut être vu. Nous avons utilisé une boucle simple pour convertir avec succès une chaîne en char.

Exemple n ° 4

Le 4ème exemple concerne la fonction Copy () simple qui peut également être utilisée pour convertir la chaîne en caractères. Il n'y a rien de différent dans ce programme des autres méthodes; Il nous suffit d'utiliser une fonction simple de Copy () qui prend trois arguments: commencez la fin, nom du tableau.

Par exemple, nous devons copier String Str au nom du tableau du personnage chararray. Nous pouvons utiliser la syntaxe suivante:

# Copie (str.begin (), str.end (), chararray)


Après avoir exécuté la fonction suivante avec la syntaxe appropriée, nous pouvons imprimer le tableau suivant dans lequel nous avons transféré la chaîne suivante.

En conséquence, nous avons la sortie suivante, ce qui nous amène à notre objectif de convertir avec succès une chaîne en un tableau de caractères.

Conclusion:

En fin de compte, nous espérons que nous avons pu vous faire parcourir certains des exemples où vous pouvez convertir la corde en char de plus d'une manière. L'article ci-dessus a discuté des multiples techniques de conversion d'une chaîne en caractères dans Alpine Linux 3.12.0. Pour ce faire, nous avons dépassé quatre techniques différentes que vous pouvez utiliser pour convertir facilement une chaîne en caractères en C ++. Ces trois techniques différentes étaient la fonction Strcpy (), Copy (), l'itération pour la boucle et l'utilisation de pointeurs. En conséquence, ces explications seront très utiles lorsque vous devez convertir une chaîne en caractères dans Alpine Linux 3.12.0 c++.