IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Recherche une chaine de caractere dans une variable string


Sujet :

C++

  1. #1
    Débutant  
    Inscrit en
    Mars 2006
    Messages
    300
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 300
    Points : 60
    Points
    60
    Par défaut Recherche une chaine de caractere dans une variable string
    bonjour à tous je suis débutant en C++.
    j'ai une variable var_="file*.doc"

    je cherche une fonction qui me retourne une troue si je lit ma variable contient ".doc"

    autre chose je cherche une fonction qui me remplace * de "file*.doc" à 1 "file1.doc".


    Merci à vous.

  2. #2
    Membre averti
    Homme Profil pro
    Cadre informatique
    Inscrit en
    Avril 2013
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Cadre informatique

    Informations forums :
    Inscription : Avril 2013
    Messages : 183
    Points : 435
    Points
    435
    Par défaut
    Pour tes 2 problemes, il va te falloir utiliser la fonction find() de la librairie string pour trouver l indice de la chaine.
    Et la fonction replace() pour l échanger.

    Le bout de code ci-dessous est ecrit sans compilo autour, je ne suis pas chez moi dons j espere que tu m excuseras si il y a des ratés

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    #include <string>
     
    using namespace std;
     
    int main(void)
    {
       string etoileATrouver("*");
       string extensionATrouver(".doc");
       string var("file*.doc");
       bool extensionTrouvee = false;
     
       var.replace(var.find(etoileATrouver), 1, "1"); // Passe file*.doc a file1.doc
     
       extensionTrouvee = var.find(extensionATrouver) != std::string::npos // Si ".doc" a été trouvée, cela renvoie true 
     
       return 0;
    }
    Cordialement

    EDIT:
    Comme tu cherches a savoir si ton extension est bonne et qu une extension est toujours en bout de chaine, je peux te proposer de sécuriser un peu plus en utilisant les options supplémentaires du find().
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    extensionTrouvee = var.find(extensionATrouver, var.size()-extensionATrouver.size() ) != std::string::npos; // Si ".doc" a été trouvée ET uniquement a la fin de ta chaine, cela renvoie true
    Le reste du code étant le meme

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    std::string::find bool found = mystring.find(".doc") != std::string::npos;
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/02/2011, 11h39
  2. Réponses: 7
    Dernier message: 10/03/2010, 12h28
  3. recherche d'une chaine de caractere dans une autre
    Par myriamulrik dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 11/10/2009, 18h45
  4. Réponses: 5
    Dernier message: 29/05/2009, 12h28
  5. [MySQL] Récupérer une chaine de caractere dans une variable
    Par Mais.Ouais dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 26/05/2009, 11h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo