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

SL & STL C++ Discussion :

utilisation de std::find( string )


Sujet :

SL & STL C++

  1. #1
    Membre éprouvé Avatar de ccensam
    Inscrit en
    Juillet 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2005
    Messages : 128
    Par défaut utilisation de std::find( string )
    Je cherche ouvrir un fichier text compenant :
    • Sur la première ligne un text S qui ne comprend que des caractère 'a'-->'z' et 'A'-->'Z' et des espaces
    • sur la Deuxième ligne un entier qui indique le nombre nbr_Q de mot qui vont suivre.
    • les nbr_Q suivantes lignes chacune comprend un mot

    Donc je cherche à verifie si les mots figurent dans la chaine de caractère S ou non.
    La sortie et un fichier text comprenon sur chaque ligne 'y' ou 'n' selon le test.

    voila ce que j'ai fais :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    #include <iostream>
    #include <fstream>
    #include <string>
    #include <algorithm>
     
    using namespace std;
     
    int main()
    {
        int nbr_Q, i,j;
        string S,Q;
        ifstream in("strings.in");
        ofstream out("strings.out");
     
        if( in && out)
        {
                getline(in,S);
                in>>nbr_Q;
                for(j=1 ; j<=nbr_Q ; j++)
                {
                    getline(in,Q);
                    if(S.find(Q)>S.size()) out<<"y\n";
                    /*
                        je pense que le test que je fais et faux
                        Quel est le retour de la fonction find(....) ?
                         Est-ce la fonction std::find(string) tient compte de la case?
                        quand la chaine ne n'est pas touvé                
                    */
                    else out<<"n\n";
                }
                in.close();
                out.close();
        }
     
         return EXIT_SUCCESS;
    }
    Donc que faire les amis!!!!
    NB: Exemple de fichier d'entrées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    abcdefghABCDEFGHabc
    5
    tdjdd
    abc
    abcdr
    abde
    abAB
    le fichier de sortie ,en principe, doit comprendre :
    COMMENT FONCTIONNE LA FONCTION STD::FIND() ?

  2. #2
    Membre expérimenté
    Avatar de David Fleury
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 253
    Par défaut
    Essaye ça pour voir :
    getline(in,Q);
    if ( S.find(Q) != string::npos )
    out<<"y";
    else
    out<<"n";
    out << endl;

Discussions similaires

  1. utilisation de la méthode String::replace
    Par ryoussef19 dans le forum Général Dotnet
    Réponses: 6
    Dernier message: 08/05/2007, 14h01
  2. utilisation des std::map
    Par guillaume16 dans le forum SL & STL
    Réponses: 9
    Dernier message: 25/07/2006, 16h56
  3. utilisation de std::
    Par piteon dans le forum SL & STL
    Réponses: 7
    Dernier message: 08/06/2006, 14h31
  4. 3 précisions sur l'utilisation des "std::vector"
    Par Invité dans le forum SL & STL
    Réponses: 9
    Dernier message: 10/01/2006, 00h42
  5. probleme std::find
    Par voyageur dans le forum SL & STL
    Réponses: 2
    Dernier message: 07/05/2005, 20h55

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