c character conversion functions
Ce didacticiel couvre les fonctions de conversion de caractères C ++ telles que la conversion d'un caractère en entier ou une chaîne et un tableau de caractères en chaîne avec des exemples de code:
En C ++, alors que nous développons des applications impliquant de nombreux types, il devient nécessaire de passer d'un type à un autre. Nous avons déjà vu quelques conversions de type de base dans nos précédents tutoriels.
Nous avons également vu des conversions de chaînes et la conversion de types numériques en chaînes. Outre les fonctions de conversion de chaîne que nous avons déjà vues, il existe quelques fonctions qui sont utilisées pour convertir un caractère en d'autres types de données.
Ce sont les fonctions qui prennent un seul caractère ou un tableau de caractères, puis les convertissent en d'autres types de données.
=> Lisez la série de formations Easy C ++.
Ce que vous apprendrez:
- Fonctions de conversion de caractères C ++
- Conclusion
Fonctions de conversion de caractères C ++
En ce qui concerne la conversion d'un seul caractère en entier ou en chaîne et la conversion d'un tableau de caractères en chaîne, les fonctions de conversion changent légèrement de celles des fonctions de conversion de chaîne.
comment devenir testeur de nouveaux produits
Dans ce didacticiel, nous aborderons les conversions suivantes:
- Conversion de caractère en entier (char en int C ++)
- Conversion de caractère en chaîne (char en chaîne C ++)
- Conversion d'un tableau de caractères en chaîne
Les deux premières conversions concernent un seul caractère tandis que la dernière conversion implique un tableau de caractères.
Convertir un caractère en entier - char en entier
Pour convertir un seul caractère en un type entier, nous avons deux méthodes comme indiqué ci-dessous:
# 1) Par casting
Nous pouvons utiliser l'opération de conversion pour convertir un seul caractère en son équivalent entier. Dans ce cas, l'équivalent ASCII du caractère sera affiché.
Considérez la conversion suivante,
char a = 'A'; int num = (int) a;
Dans ce cas, 'num' aura la valeur 65 qui est l'équivalent ASCII du caractère 'A'.
Alternativement, nous pouvons utiliser l'opération suivante si nous voulons convertir un caractère numérique en une valeur entière.
char a = '2'; int num = a-48;
Ici, 48 est la valeur ASCII de 0. Ce qui est fait ici, c'est que la deuxième ligne a-48 convertit implicitement le caractère a en son équivalent ASCII, puis le soustrait de 48 (50-48) qui donne la valeur entière 2.
# 2) Utilisation de stringstream
Comme déjà vu dans le didacticiel sur les fonctions de conversion de chaînes, nous pouvons convertir un seul caractère représenté sous la forme d'un objet stringstream en un entier ou en toute valeur numérique.
Vous trouverez ci-dessous un code pour illustrer cela.
#include #include #include using namespace std; int main() { stringstream str; str <> x; cout<<'Converted value of character 5 :'< Production:
Valeur convertie du caractère 5: 5
Convertir le caractère en chaîne - char en chaîne
Il existe différentes manières de convertir un seul caractère en chaîne.
Discutons de certaines de ces méthodes.
# 1) Utilisation d'un constructeur fourni par une classe de chaînes.
Prototype de fonction: chaîne s (int n, char x);
Paramètres):
n => Taille de la chaîne à générer.
x => Caractère à convertir en chaîne.
Valeur de retour: s tring obtenu par conversion de caractère.
Description: Le constructeur de la classe string prend la longueur de la chaîne (n) et un seul caractère comme paramètres, puis convertit le caractère en chaîne.
Vous trouverez ci-dessous un exemple simple pour illustrer la conversion d'un seul caractère en chaîne.
#include #include using namespace std; int main() { string str(1,'A'); cout<<'The string obtained by converting single character : '< Production:
La chaîne obtenue en convertissant un seul caractère: A
La conversion ci-dessus est simple. Nous appelons le constructeur de chaîne et spécifions la longueur de la chaîne (premier paramètre) comme 1 car nous convertissons un seul caractère et le deuxième paramètre est le caractère à convertir en chaîne (dans ce cas «A»).
# 2) Utilisation de std :: string Operator = And + =
Les opérateurs de classe std :: string, = et + = sont surchargés pour les caractères. Nous pouvons donc utiliser ces opérateurs pour convertir un seul caractère en chaîne.
Ceci est démontré dans le programme ci-dessous.
#include #include using namespace std; int main() { string str; char c = 'B'; str = 'C'; str += c; cout<<'The string obtained by converting single character : '< Production:
La chaîne obtenue en convertissant un seul caractère: CB
Dans ce programme, nous avons utilisé à la fois les opérateurs surchargés, = et + =. Nous avons déclaré un objet chaîne, puis lui avons attribué un caractère à l'aide de l'opérateur =. Ensuite, nous utilisons l'opérateur + = et affectons un autre caractère à l'objet chaîne.
Nous voyons que la deuxième fois que le caractère est effectivement concaténé avec le contenu déjà existant dans l'objet chaîne.
# 3) Utilisation de diverses méthodes de std :: string
La classe std :: string prend en charge diverses méthodes surchargées à l'aide desquelles nous pouvons passer un caractère en chaîne qui convertit finalement le caractère en chaîne.
Certaines des méthodes de la classe std :: string sont:
- repousser
Prototype de fonction: void push_back (car c)
Paramètres): c => Caractère à affecter à la chaîne
Valeur de retour: retourne nul
Description: Cette fonction est surchargée pour les caractères et affecte un caractère à la fin de la chaîne.
- ajouter
Prototype de fonction: string & append (size_t n, char c)
Paramètres):
n => Nombre de fois où le caractère doit être ajouté.
c => Caractère à ajouter à la chaîne.
Valeur de retour: Chaîne obtenue par conversion de caractère.
Description: La fonction Append de std :: string prend deux arguments. Le premier argument est le nombre de fois où le caractère doit être copié dans la chaîne. Le deuxième argument est le caractère réel à copier. Ainsi, la fonction d'ajout affectera ces nombreuses copies de caractères à la chaîne comme spécifié dans le premier argument.
- attribuer
Prototype de fonction: chaîne & assign (taille_t n, car c);
Paramètres):
n => Nombre de copies du personnage.
c => Caractère à copier dans la chaîne.
Valeur de retour: Chaîne obtenue par conversion de caractère.
Description: La fonction Assign remplace le contenu de la chaîne actuelle par n (premier argument) copies du caractère (deuxième argument).
- insérer
Prototype de fonction: string & insert (size_t pos, size_t n, char c);
Paramètres):
pos => Position au début de laquelle les caractères doivent être insérés.
n => Nombre de copies du personnage.
c => Caractère à insérer dans la chaîne.
Valeur de retour: Chaîne obtenue par conversion de caractère.
Description: Cette fonction insère n (deuxième argument) copies de caractère (troisième argument) à la position de début de la chaîne spécifiée par pos (premier argument).
Ensuite, nous développerons un programme qui démontre toutes les fonctions ci-dessus de la classe std :: string.
#include #include using namespace std; int main() { string str; str.push_back('A'); cout<<'push_back single character : '< Production:
push_back caractère unique: A
ajouter un seul caractère: C
attribuer un seul caractère: D
insérer un seul caractère: BD
Le programme ci-dessus montre les fonctions push_back, append, assign et insert. La sortie affiche le résultat ou la chaîne renvoyée par chaque fonction.
# 4) Utilisation de std :: stringstream
Nous avons déjà discuté de la conversion de types numériques en chaîne à l'aide de stringstream. La conversion de caractère en chaîne suit également le même principe lorsqu'une classe stringstream est utilisée.
Le caractère donné est inséré dans le flux, puis le contenu est écrit dans la chaîne.
Expliquons cela clairement en utilisant un programme C ++.
#include #include #include using namespace std; int main() { string str; stringstream mystr; mystr<>str; cout<<'The string obtained by converting single character : '< Production:
La chaîne obtenue en convertissant un seul caractère: A
Nous insérons d'abord le caractère dans l'objet stream, puis ce tampon est écrit dans l'objet string. Ainsi, la sortie du programme montre le contenu de l'objet chaîne qui est un seul caractère.
Convertir un tableau de caractères en chaîne
La classe std :: string a de nombreuses méthodes qui peuvent être utiles tout en traitant des tableaux de caractères. Par conséquent, il est conseillé de convertir des tableaux de caractères en objets chaîne, puis de les utiliser afin que nous puissions écrire des programmes efficaces.
Il existe deux méthodes pour convertir le tableau de caractères en une chaîne, comme indiqué ci-dessous.
# 1) Utilisation du constructeur de chaînes
Comme déjà discuté pour la conversion d'un seul caractère en chaîne, nous pouvons utiliser le constructeur de chaîne pour convertir un tableau de caractères en chaîne.
Prototype de fonction: chaîne (const char * s);
Paramètres: s => tableau de caractères terminé par un nul à convertir en chaîne
Valeur de retour: string => chaîne convertie
Description: Ce constructeur surchargé de la classe std :: string prend le tableau de caractères ou la chaîne C comme argument et renvoie la chaîne.
Le programme suivant illustre cette conversion.
#include #include using namespace std; int main() { char myarray() = {'Software Testing Help'}; string mystr(myarray); cout<<'Converted string: '< Production:
Chaîne convertie: Aide sur les tests de logiciels
Le programme ci-dessus est assez simple. Il suffit d'un appel au constructeur std :: string pour convertir le tableau de caractères donné en chaîne.
# 2) Utilisation = opérateur surchargé
Une autre approche pour convertir un tableau de caractères en objet chaîne consiste à utiliser un opérateur surchargé =. En cela, nous pouvons directement affecter le tableau de caractères à l'objet string en utilisant l'opérateur = et le contenu sera passé à string.
L'exemple suivant le montre.
#include #include using namespace std; int main() { char myarray() = {'Software Testing Help'}; string mystr; mystr = myarray; cout<<'Converted string: '< Production:
Chaîne convertie: Aide sur les tests de logiciels
Le programme ci-dessus affecte le tableau directement à un objet chaîne à l'aide de l'opérateur = qui entraîne la copie du contenu du tableau de caractères dans l'objet chaîne.
Conclusion
Nous avons vu diverses méthodes pour convertir un seul caractère ainsi que des tableaux de caractères en objets chaîne. Puisque la classe std :: string a de nombreuses fonctions qui nous permettent de manipuler les chaînes de manière efficace, il est toujours utile de travailler avec des données de caractères en les convertissant d'abord en chaînes.
Lectures complémentaires = >> Convertir Char en Int en Java
Lectures complémentaires = >> Convertir un caractère en chaîne en Java
Nous pouvons également utiliser des méthodes de classe pour convertir les données de caractères en chaînes. En cela, nous insérons d'abord les données dans le flux, puis nous écrivons ce tampon dans un objet chaîne.
Dans nos didacticiels suivants, nous discuterons en détail d'une classe stringstream et d'autres fonctions de bibliothèque en C ++.
=> Vérifiez ici pour voir de A à Z des didacticiels de formation C ++.
lecture recommandée
- Fonctions de chaîne Python
- Tutoriel Java String with String Buffer et String Builder
- Fonctions de classification et de transformation des caractères C ++
- Fonctions de chaîne VBScript: fonctions VBScript inStr, Replace, Mid et Trim
- Tutoriel Python String Split
- Tutoriel C # String - Méthodes de chaîne avec des exemples de code
- Chaînes en C ++ avec des exemples
- Fonctions de bibliothèque en C ++