Le titre dit donc tout. J'aimerais savoir comment rechercher un mot dans un fichier (genre dictionnaire).
Merci d'avance.
Version imprimable
Le titre dit donc tout. J'aimerais savoir comment rechercher un mot dans un fichier (genre dictionnaire).
Merci d'avance.
la methode la plus simple :
un algo recursif qui parse la zone de recherche à la recherche du nième char du mot desiré.
Pour la première iteration , tu recherches le premier char dans tout le fichier.
Pour la 2eme iterations tu recherche le 2eme char sur l emplacement qui suit le 1.
etc...
etc..
et quand tu as trouver le dernier char tu mot ou EOF tu qui la fonction...
Salut,
Avec des char*, excuses moi, ZaaN, mais c'est pour le moins...:sm: :vomi: ...
Si tu continues dans cette voie, bientot, tu va conseiller d'utiliser FILE* fichier=fopen("fichier.txt","r") :|...
Le plus facile, selon moi, si ton fichier n'est pas indexé, c'est tout simplement d'effectuer une boucle sous la forme de
en considérant nom_fichier et chaine_cherchee comme des variable de type std::string (la premiere contenant le nomd du fichier à parcourrir et la deuxième... la chaine recherchée :D:D)Code:
1
2
3
4
5
6
7
8
9
10 std::string lu=""; std::ifstream fichier(nom_fichier.c_str()); while ( ! fichier.eof() && lu!=chaine_cherchee) { fichier>> lu; //éventuellement, si tu dois tester une chaine parmis d'autres, n'oublie pas // de lire les autres ;) //ca peut tres bien prendre la forme de fichier>>ch1>>ch2>>ch3... ;) }
NOTA: les classes *fstream font partie de l'espace de nommage std et nécessitent l'inclusion du fichier... <fstream> ;)
Tester une lecture sur eof() c'est mal, voir la FAQ pour plus de détails.Citation:
Code:while ( ! fichier.eof() ...)
et commande systemes du genre :
tr -d -c "mot" < wc -c pour verifier ^^
Le problème des commandes système, c'est que ce n'est absolument pas portable...Citation:
Envoyé par lun4t1k
+1
mais ca fonctionne...