Fonctions de chaînes, partie 2
Fait partie de la section Fondamentaux du Journey C++ de Coddy — leçon 71 sur 74.
Voici d'autres fonctions utiles pour les chaînes de caractères :
- erase(pos, len) : Supprime len caractères à partir de la position pos de la chaîne actuelle.
- find(str) : Retourne la position de la première occurrence de str dans la chaîne actuelle. Retourne un objet qui peut être comparé à -1 s'il n'est pas trouvé.
- clear() : Supprime tous les caractères de la chaîne, la rendant vide.
- empty(): Retourne true si la chaîne est vide, false sinon.
Par exemple, en utilisant la chaîne suivante :
std::string str = "Hello, World!";int pos = str.find("World");
// Sortie : pos = 7 (position où "World" commence)str.erase(5, 2);
// Résultat : "HelloWorld!"str.clear();
// Sortie : "" (chaîne vide)bool isEmpty = str.empty();
// Renvoie true si str n'a pas de caractèresDéfi
FacileCréez une fonction nommée stringSearchOperations qui prend une chaîne de caractères en entrée et effectue les opérations suivantes en utilisant les fonctions de chaîne :
- Trouve et affiche la position du premier caractère d'espace dans la chaîne.
- Efface 4 caractères à partir de la position 5.
- Vérifie si la chaîne contient le mot "You" et affiche "Found" ou "Not Found".
- Vide la chaîne et vérifie si elle est vide.
- Affiche les résultats après chaque opération.
Utilisez le format suivant :
Space Found At: [Position of space]
After Erase: [String after erasing]
Contains You: [Found/Not Found]
Is Empty: [true/false]Aide-mémoire
Fonctions de chaînes de caractères utiles en C++ :
erase(pos, len): Supprime len caractères à partir de la position posfind(str): Retourne la position de la première occurrence de str (retourne -1 s'il n'est pas trouvé)clear(): Supprime tous les caractères de la chaîneempty(): Retourne true si la chaîne est vide, false sinon
std::string str = "Hello, World!";
int pos = str.find("World");
// pos = 7 (position où "World" commence)
str.erase(5, 2);
// Résultat : "HelloWorld!"
str.clear();
// Résultat : "" (chaîne vide)
bool isEmpty = str.empty();
// Retourne true si str n'a pas de caractèresEssayez vous-même
#include <iostream>
#include <string>
void stringSearchOperations(std::string str) {
// Trouver le premier espace
// Effacer 4 caractères à partir de la position 5
// Vérifier s'il contient "You"
// Effacer la chaîne et vérifier si elle est vide
}
int main() {
std::string str;
std::getline(std::cin, str);
stringSearchOperations(str);
return 0;
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs - Partie 1
Opérateurs arithmétiquesOpérateur moduloIncrémentation / DécrémentationPost-incrémentation / Post-décrémentationRaccourcis arithmétiquesOpérateurs de comparaisonComparaison de chaînes7Bases des entrées/sorties
Instruction coutInstruction cinSaisie de chaînes de caractèresRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux3Variables - Partie 2
Déclaration de typeConventions de nommageRécapitulatif - Initialisation des variablesType Casting - Partie 1Type Casting - Partie 26Prise de décision
L'instruction IfIf - ElseL'instruction SwitchOpérateur conditionnelRécapitulatif - If ElseIf - Else imbriqués9Boucles
Boucle For - Partie 1Boucle WhileBoucle Do WhileBreakContinueBoucle For - Partie 2Boucles imbriquéesBoucles infiniesRécapitulatif - Entrée dynamique12Chaînes de caractères
Chaînes de style C, partie 1Chaînes de style C, partie 2Opérations sur les chaînesFonctions de chaînes, partie 1Fonctions de chaînes, partie 2