Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Reperer mot dans fichier [ Divers / Débutant(e) ] (CicinhoRaul)

mardi 24 juin 2008 à 15:20:37 | Reperer mot dans fichier

CicinhoRaul

Bonjour je souhaiterais savoir comment reperer un mot dans un fichier.txt sachant par exemple qu'il est entre 2 caracteres.


Exemple :

Mon fichier contient :  [ Nom] = toto

Je ne sais pas du tout comment récuperer Nom et toto. Sachant qu'en regardant les fonctions C++
On n'a que getline.

Merci pour votre aide.

mardi 24 juin 2008 à 16:19:03 | Re : Reperer mot dans fichier

SAKingdom

Membre Club
Ben tu peux extraire tout ton fichier dans un string puis utiliser la méthode find.

Sinon, si tu souhaites l'extraire dans un char[], tu peux utiliser strstr.

Pour extraire ton fichier, tu as la classe ifstream.
Exemple d'utilisation ici:
http://www.cplusplus.com/reference/iostream/istream/read.html

C++ (@++)


mardi 24 juin 2008 à 17:00:39 | Re : Reperer mot dans fichier

CicinhoRaul

Salut, d'abord Merci SAKingdom de m'avoir repondu.
Mais je souhaiterais savoir par rapport à ce que tu as écrit ,je souhaite recuperer plusieurs paramètres dans ce fichier(forcément à lire) et les mettre dans une classe,le problème est que je dois forcément faire une lecture ligne à ligne et trouver chacun de ses paramètres.Dois je vraiment extraire tout le fichier dans un string ?  Je t'avoue que je n'ai aucune idée de la manière dont il faut aborder le sujet (en meme temps je reconnais que je suis debutant mais bon faut quand meme essayer de chercher et je n'y arrive pas).

Merci d'avance a tous pour votre aide.


mardi 24 juin 2008 à 17:18:01 | Re : Reperer mot dans fichier

SAKingdom

Membre Club
Si tu dois lire tous les paramètres présent dans le fichier, tu peux faire une lecture séquentielle à partir du buffer contenant la totalité du fichier (si pas trop gros). Pas besoin de rechercher quoi que ce soit.
Simplement à faire une comparaison du premier mot de la ligne encadré entre [] pour savoir de quel paramètre il s'agit, puis de stocker sa valeur. Ensuite, ligne suivante jusqu'à la fin.

Ma recommandation serait de procéder de la sorte. Lecture total du fichier dans un buffer (si pas trop gros), traitement du buffer. On stock toutes les valeurs des paramètres dans une structure puis, on utilise les membres de cette structure quand nécessaire.

C++ (@++)


mardi 24 juin 2008 à 17:51:02 | Re : Reperer mot dans fichier

CicinhoRaul

D'accord SAKingdom, aurais-tu un exemple de lecture d'un fichier avec buffer s'il te plait?

Et encore merci pour ton aide c'est vraiment sympa.


mardi 24 juin 2008 à 18:21:57 | Re : Reperer mot dans fichier

SAKingdom

Membre Club
Pour la lecture d'un fichier dans un buffer, t'as le lien que je t'ai donné.

Sinon pour traiter le buffer, ce sont des opérations de base sur les pointeurs.

On parcours la chaine avec un pointeur en testant si on tombe sur un [. Ensuite, on saute les caractères d'espacement (espace, tab etc.) puis on compare le mot.
On peut procéder de la façon suivante pour comparer:
On extrait le mot lettre par lettre dans un petit buffer secondaire (300 octets devrait être plus que suffisant) jusqu'à tomber sur un espace ou un ] ou autre.
Puis on effectue les strcmp nécessaire sur ce buffer temporaire.

Une fois le nom du paramètre validé, on saute tous les espaces et le = puis on extrait sa valeur. On peut procéder de la même façon qu'avec le nom de paramètre.

Maintenant, faut savoir ce que représente ces valeurs. Est-ce des nombres ?
[pouet] = 12345
des "chaine" ?
[pouet] = pouetpouet
Est-ce que ça dépend des paramètres ([pouet] prend des nombres, [pouetpouet] prend des chaines) ou alors est-ce complètement arbitraire ?

Soit dit en passent, un paramètre contenant une "chaine" peut aussi être comme suit:

[param] = 12345

Tout dépend de comment tu souhaites utiliser les valeurs.

Si tes paramètres on chacun un type fixe de donné, on peut effectuer la conversion (si nécessaire) à même le buffer d'extraction (donc avant de stocker la valeur finale dans la structure). Cependant, si tes paramètres peuvent prendre n'importe quoi, là, faudra stocker sans conversion. Ta structure devra donc pouvoir stocker des chaines de caractères.

C++ (@++)


jeudi 26 juin 2008 à 17:40:22 | Re : Reperer mot dans fichier

CicinhoRaul

SAKingdom, je voudrais récuperer toutes ces valeurs et les mettre dans une classe ou une structure.

Fichier :
[Nom ] = toto

[Age]  = 25

Je souhaiterais mettre toto et 25 dans une structure sachant que dans mon programme : j'ai repéré toto à partir de nom et 25 à partir de Age. Je n'arrive toujours pas à faire une lecture en fonction des caractères et donc à récuperer ces deux paramètreS.

Je suis désolé si je suis un boulet :(:(.

Merci d'avance pour ton aide




Cette discussion est classé dans : fichier, mot, exemple, sachant, reperer


Répondre à ce message

Sujets en rapport avec ce message

détection d'un mot dans un fichier [ par stan000 ] Bonjour,J'aurais besoin d'aide pour réaliser un programme ou pour connaitre la démarche à suivre.J'ai un fichier texte contenant plusieurs lignes dont Rechercher un mot dans un fichier et afficher son contenu en C/C++ [ par M_didi ] Bonjour,encore moi et oui. Je suis toujours sur mn fichier de mesure. Voilà, je voudrais savoir comment on peut rechercher un mot et afficher son cont programme en C [ par rosco91 ] bonjour, cela fait deux jour que je cherche un programme qui me permettra de lire plusieur fichiers textes existants dans un dossier. J'ai un programm Probleme dans mon prog password dans la gestion ' * ' [ par Jarod1980 ] Salut,Voila j'ai développé un programme de password qui récupère le password crypté dans un fichier et le compare au password rentré par l'utilisateur effacement automatique [ par dann3 ] Je cherche à lancer au démarrage de Windows un fichier texte dans notepad(par exemple) jusque là je sais faire... mais comment faire disparaitre autom changer un octet dans un fichier ? [ par supergrey ] Bonjour, je sais le faire mais je souhaiterai connaitre la methode la plus simple pour changer le premier octet d'un fichier, par exemple ajouter 1 a Fichier texte [ par spike666 ] Etant tres nul... et ne preférant pas chercher 3h des morceaux de codes pour finir sur un truc ki marchera pas je vais demander directement ce que je récupérer en C++ le résultat d'une commande [ par chotana ] Salut, je cherche 1- à parcourir tous les sous répertoire à partir d'un répertoire de départ 2- rechercher tous les fichiers .config 3- pour chaque Lire un fichier et l'afficher [ par sebastienmz ] bonjour j'ai un problème comme d'habitude mais la c'est bizzard je veux juste afficher le contenu d'un fichier .txt mais cela maffiche que les 8 premi creation de fichier txt expliquez moi svp [ par mathious ] bonjour a tous d'abord!!!!Voila je vous explique je suis totalement débutant  en langage C et je voudrais que quelqu'un m'explique comment faire pour:


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,296 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.