begin process at 2012 05 29 23:12:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Lecture ligne par ligne d'un fichier texte


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Lecture ligne par ligne d'un fichier texte

jeudi 9 juin 2005 à 16:05:58 | Lecture ligne par ligne d'un fichier texte

Aldarek

Bonjour à tous, je sais comment on fait pour lire un fichier ligne par ligne mais je cherche à lire une ligne particulière pour ensuite récupérer sa valeur et la mettre dans une variable...
 
Voici le contenu de mon fichier :  
caractere : 83
sociabilite : 76
faim : 83
saleté : 83
sante : 76
points de vie : 14986
points d'évolution : 14
temps écoulé : 14
 
 et je cherche à récupérer le 14 de temps écoulé...
 
Merci d'avance
jeudi 9 juin 2005 à 16:19:12 | Re : Lecture ligne par ligne d'un fichier texte

Joky

Membre Club
Et pourquoi tu ne compterais pas les '\n' ???

void Aurevoir( void ); //Bonne journée

jeudi 9 juin 2005 à 16:23:26 | Re : Lecture ligne par ligne d'un fichier texte

buno

Administrateur CodeS-SourceS
int tps;
char line[128];

/* tu remplis line avec une ligne du fichier */

if (NULL!=strstr(line, "temps écoulé"))  // cherche si la ligne courante contient la chaine "temps écoulé"
  sscanf(line,"temps écoulé : %d", &tps); // si oui, tu connais le format de ta ligne donc tu peux récupérer l'entier


Buno
----------------------------------------
L'urgent est fait, l'impossible reste à faire. Pour les miracles, prévoir un délai...
jeudi 9 juin 2005 à 17:02:27 | Re : Lecture ligne par ligne d'un fichier texte

Aldarek

Ton idée me semble parfaite merci beaucoup, seulement je l'ai testé, voici le code, et il n'arrive pas à me trouver le 14 :

 std::ifstream fichier("resultat.txt");
 int tps=0;
 char line[128];  //tableau de caractère ou l'on va stocker la ligne

    if ( fichier ) // ce test échoue si le fichier n'est pas ouvert
    {
        // cette boucle s'arrête dès qu'une erreur de lecture survient
        if (NULL!=strstr(line, "temps écoulé"))
        {
   sscanf(line,"temps écoulé : %d", &tps);
        }
  cout<<tps<<endl;
    }

Merci beaucoup

jeudi 9 juin 2005 à 18:18:43 | Re : Lecture ligne par ligne d'un fichier texte

buno

Administrateur CodeS-SourceS
Et oui...
T'as oublié de lire dans le fichier... et donc de remplir line!!

Buno
----------------------------------------
L'urgent est fait, l'impossible reste à faire. Pour les miracles, prévoir un délai...
jeudi 9 juin 2005 à 18:51:03 | Re : Lecture ligne par ligne d'un fichier texte

Aldarek

Il faut que je fasse un getline c'est bien ca??

std::getline( fichier, line );
jeudi 9 juin 2005 à 19:18:33 | Re : Lecture ligne par ligne d'un fichier texte

Aldarek

Désolé de t'embêter avec ca mais je vois vraiment pas ce qui ne marche pas
Voici le code :
    if ( fichier ) // ce test échoue si le fichier n'est pas ouvert
    {
  std::string ligne; // variable contenant chaque ligne lue

        // cette boucle s'arrête dès qu'une erreur de lecture survient
        while ( std::getline( fichier, ligne ) )
        {
      if (NULL!=strstr(line, "temps écoulé"))
   {
    sscanf(line,"temps écoulé : %d", &tps);
    cout<<"récup tps"<<tps<<endl;
   }
        }
    }

Merci d'avance

jeudi 9 juin 2005 à 19:19:27 | Re : Lecture ligne par ligne d'un fichier texte

Aldarek

Rajout: le line est un char[128]et temps un int =0;
vendredi 10 juin 2005 à 09:29:33 | Re : Lecture ligne par ligne d'un fichier texte

buno

Administrateur CodeS-SourceS
Réponse acceptée !
Un peu de rigueur Aldarek...
Je ne vois pas le lien entre ligne et line, c'est normal docteur??

Essaie ça:

#include <fstream>

...
std::ifstream file;  // fichier dans lequel on va lire
char line[128];   // ligne lue
int tps;               // temps lu

file.open("D:\\Bruno\\truc.txt");  // ouverture du fichier

while(file.getline(line, 128,'\n'))  // à chaque lecture de ligne
{
    if (NULL!=strstr(line, "temps écoulé"))  // on cherche la chaine "temp écoulé"
    {
      sscanf(line,"temps écoulé : %d", &tps);  // si trouvé, on lit l'entier voulu
      ...
    }
}


Dans mon fichier truc.txt, j'ai mis:
bou : 45
temps écoulé : 14


Et le résultat de mon code est satisfaisant: tps=14

Si t'as d'autres soucis....

Buno
----------------------------------------
L'urgent est fait, l'impossible reste à faire. Pour les miracles, prévoir un délai...


Cette discussion est classée dans : fichier, lecture, ligne, texte, lire


Répondre à ce message

Sujets en rapport avec ce message

Lire un fichier Texte Ligne par ligne [ par Ricpperso ] Bonjour,bon je fai un pti proget je voudrai savoir comment on fais pour lire un fichier Texte ligne par ligne, avec si possible le Cfile.merci d'avanc Lire une ligne d'un fichier texte [ par CassusGreg ] Salut à tous,Est-ce-qu'il existe une fonction pour lire une ligne de texte (terminé par 0x0D 0x0A) dans un fichier?Je suis sous VC++ 6merci lire une ligne dans un fichier texte puis........ [ par oudkaramla ] salut out le monde,je veux lire 3 lignes d'un fichier texte, puis faire le découpage de chaque ligne en petits morceauxje sais qu'il ft faire fopen() lecture fichier C++ [ par biscot19 ] bonjour, je voudrais savoir comment faire pour lire un fichier ligne par ligne par exemple je demande a mon prog de lire la 3eme ligne il doit me reto Fichier texte.. [ par flightplan ] Bonjour à tous, j'aimerais lire un fichier texte ligne par ligne via les MFC de visual C++ 6 avec l'instruction readstring, mais il ne me lit que la p Lire dans un fichier texte [ par hasen ] Bonjour,Je suis en plein projet et je dois lire dans un fichier, ce que je fais mais caractère par caractère et c'est pas toujours facil à gérer. Est- Lecture d'un fichier de données en C [ par sandy27 ] Alors je vais poser une question qui a déjà été posée dans le forum, mais les réponses ne me conviennent pas ! je veux lire un fichier qui contient de MFC lire un fichier texte ligne par ligne [ par mqsi ] salut a tous,vs pouvez me dire comment lire un fichier texte ligne par ligne,puis recuperer chaque ligne ds un tableau,et merci pr l'aide,je travail a [C] lire une ligne L dans fichier texte [ par swan94 ] Salut à tous,Je suis actuellement en galère pour trouver la solution à ce problème :    J'aurais besoin de pouvoir lire la ligne dont le numéro serait lire un fichier texte avec visual C++ [ par sarah62223 ] Bonjour,Je suis actuellement en train de developper en C++ et je voudrais savoir comment faire pour venir lire dans un fichier texte ligne par ligne ,


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,905 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales