Découpage de mot séparés par un espace dans un .txt

elnino67 Messages postés 3 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 29 mai 2008 - 29 mai 2008 à 15:48
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 - 30 mai 2008 à 17:27
Alors voilà, nous cherchons à récupérer des mots un par un dans des string à partir d'un fichier que nous avons ouvert de la façon suivante :

ifstream fichier;
    fichier.open("test", ios::in);
   
    if(fichier.bad())
    {
     cout<<"Fichier invalide."<<endl;
     exit(-1);
    }

Seul problème, nous débutons en C++ et l'usage de ses outils ne nous est pas familier, quelqu'un pourrait nous indiquer via lesquels procéder? Parce que nos recherches n'ont abouti à aucune aide concrète!
Merci d'avance!

2 réponses

SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
29 mai 2008 à 16:07
1. Tu extrais ton fichier dans ton string. Si ton fichier n'est pas trop gros, tu peux le lire tout d'un coup. Tu peux utiliser la méthode read je crois.

2. Très simple à faire. Suffis mémoriser la position du premier caractère d'un mot, ensuite on trouve un espace (ou la fin de la chaine pour le dernier mot) puis on mémorise aussi sa position. Finalement, on extrait la chaine entre ces deux bornes avec la méthode substr par exemple.

C++ (@++)<!--
0
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
30 mai 2008 à 17:27
std::string UnMot;
ifstream fichier;
    fichier.open("test", ios::in);
   
    if(fichier.bad())
    {
     cout<<"Fichier invalide."<<endl;
     exit(-1);
    }

fichier >> UnMot; 

Il s'arrete au premier espace par défaut (me semble), donc normalement ca doit suffir pour toi.
0
Rejoignez-nous