Menu
Coddy logo textTech

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ères
challenge icon

Défi

Facile

Cré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 pos
  • find(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îne
  • empty() : 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ères

Essayez 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;
}
quiz iconTestez-vous

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