Introduction
Dans ce laboratoire, vous allez apprendre à copier des chaînes de caractères en C++. Nous allons utiliser à la fois des objets string et des chaînes de caractères C-style pour démontrer cela.
Créer un nouveau fichier C++
Accédez au répertoire ~/projet et créez un nouveau fichier C++ nommé main.cpp.
cd ~/projet
touch main.cpp
Copie d'objets de chaîne de caractères
Nous pouvons utiliser l'opérateur d'affectation pour copier un objet de chaîne de caractères dans un autre. Suivez le code ci-dessous :
#include <iostream>
#include <string>
using namespace std;
int main() {
string s1, s2;
cout << "Entrez la chaîne s1 : ";
getline(cin, s1);
s2 = s1;
cout << "s1 = " << s1 << endl;
cout << "s2 = " << s2;
return 0;
}
Explication :
- Nous commençons par inclure les bibliothèques nécessaires pour ce programme, qui sont
iostreametstring. - Nous définissons ensuite deux objets de chaîne de caractères
s1ets2 - L'utilisateur est invité à entrer la chaîne s1 en utilisant la fonction
getline(), qui lit toute la chaîne y compris les espaces. - Affectez s1 à s2 en utilisant l'opérateur d'affectation.
- Enfin, nous affichons s1 et s2.
Sortie du code
Entrez la chaîne s1 : Hello World!
s1 = Hello World!
s2 = Hello World!
Copie de chaînes de caractères C-style
Nous allons utiliser la fonction strcpy() de la bibliothèque cstring pour copier des chaînes de caractères C-style. Suivez le code ci-dessous :
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char s1[100], s2[100];
cout << "Entrez la chaîne s1 : ";
cin.getline(s1, 100);
strcpy(s2, s1);
cout << "s1 = " << s1 << endl;
cout << "s2 = "<< s2;
return 0;
}
Explication :
- Nous commençons par inclure les bibliothèques nécessaires pour ce programme, qui sont
iostreametcstring - Nous définissons ensuite deux tableaux de chaînes de caractères C-style
s1ets2 - L'utilisateur est invité à entrer la chaîne s1
- La fonction
getline()n'est pas utilisée dans cet exemple car elle est uniquement utilisée pour les objets de chaîne de caractères et non pour les chaînes de caractères C-style. Au lieu de cela, nous utilisonscin.getlineoù le premier argument est la variable du tableau et le second argument est la taille maximale du tableau à lire. - Copiez la chaîne s1 dans s2 à l'aide de la fonction
strcpy()danscstring - Enfin, nous affichons s1 et s2.
Sortie du code
Entrez la chaîne s1 : Hello World!
s1 = Hello World!
s2 = Hello World!
Exécuter le fichier
Pour exécuter le code dans le terminal, ouvrez le terminal dans le dossier du projet et exécutez les commandes suivantes :
g++ main.cpp -o main
./main
Cette commande compilera le fichier main.cpp et produira un fichier exécutable nommé main dans le même répertoire. La deuxième commande exécutera le fichier main et affichera le résultat dans le terminal.
Résumé
Dans ce laboratoire, nous avons discuté de la manière de copier des chaînes de caractères en C++ en utilisant des objets de chaîne de caractères et des chaînes de caractères C-style. Vous avez appris que pour les objets de chaîne de caractères, vous pouvez utiliser l'opérateur d'affectation et pour les chaînes de caractères C-style, vous pouvez utiliser la fonction strcpy() dans cstring. En suivant ces étapes simples, vous pouvez facilement copier des chaînes de caractères en C++.



