Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1621 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Lecture d'un fichier texte en boucle C++

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Lecture d'un fichier texte en boucle C++

n°1257376
balabi1
Posté le 02-12-2005 à 11:47:14  profilanswer
 

Salut,
 
Je cherche a lire des valeurs dans un fichier texte en boucle.
Je ne souhaite pas m'arreter a la fin du fichier mais reboucler au debut a l'infini...
 
Voici mon code utilise pour lire :

Code :
  1. char number[256];
  2. ifstream ifstr("file.txt" );
  3. while(!ifstr.eof()){//ici je m'arrete a la fin du fichier...
  4.                          //lecture d'une ligne
  5.  ifstr.getline(number, 256, '\n');
  6.  cout << number << endl;
  7. }


 
Comment puis je m'y prendre?
 
Merci

mood
Publicité
Posté le 02-12-2005 à 11:47:14  profilanswer
 

n°1257384
JMD34
Posté le 02-12-2005 à 11:59:46  profilanswer
 

bien c'est pas compliqué (si j'ai bien compris)
au lieu d'arreter de lire a la fin du fichier tu retourne au debut du fichier

Code :
  1. char number[256];
  2. ifstream ifstr("file.txt" );
  3. while(1){//ici je m'arrete a la fin du fichier...
  4.                          //lecture d'une ligne
  5.                           if(!ifstr.eof())
  6.                           {
  7.                             ifstr.fseek(SEEK_SET); //attention fonction retrouver de memoire à verifier  
  8.                           }
  9.  ifstr.getline(number, 256, '\n');
  10.  cout << number << endl;
  11. }


 
a toi de voir quand tu veux arreter car la tu tourne vraiment en boucle infinie

n°1257420
Taz
bisounours-codeur
Posté le 02-12-2005 à 12:37:24  profilanswer
 

minable.
 

Code :
  1. #include <string>
  2. #include <iostream>
  3. #include <fstream>
  4. int main(int argc, char **argv)
  5. {
  6.   if (argc != 2)
  7.     return 1;
  8.   std::ifstream input(argv[1]);
  9.   if (not input.is_open())
  10.     return 2;
  11.   for (unsigned i = 0; i < 3; ++i) {
  12.     std::string line;
  13.     while (std::getline(input, line)) {
  14.       std::cout << i << '\t' << line << '\n';
  15.     }
  16.     if (input.bad())
  17.       return 3;
  18.     input.clear();
  19.     input.seekg(0, std::ios_base::beg);
  20.   }
  21. }


 
 
cela dit, sauf gros fichier, il vaudrait mieux ne lire qu'une seule fois.

n°1257503
balabi1
Posté le 02-12-2005 à 14:13:40  profilanswer
 

Merci pour vos reponses.
La solution de taz fonctionne.
 
A+

n°1273786
nicolasdu8​3
Posté le 27-12-2005 à 16:59:54  profilanswer
 

Taz a écrit :

minable.
 

Code :
  1. #include <string>
  2. #include <iostream>
  3. #include <fstream>
  4. int main(int argc, char **argv)
  5. {
  6.   if (argc != 2)
  7.     return 1;
  8.   std::ifstream input(argv[1]);
  9.   if (not input.is_open())
  10.     return 2;
  11.   for (unsigned i = 0; i < 3; ++i) {
  12.     std::string line;
  13.     while (std::getline(input, line)) {
  14.       std::cout << i << '\t' << line << '\n';
  15.     }
  16.     if (input.bad())
  17.       return 3;
  18.     input.clear();
  19.     input.seekg(0, std::ios_base::beg);
  20.   }
  21. }


 
 
cela dit, sauf gros fichier, il vaudrait mieux ne lire qu'une seule fois.



Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Lecture d'un fichier texte en boucle C++

 

Sujets relatifs
Locker un fichierEcrire un fichier texte sur un serveur distant
Afficher plusieur fois les résultats d'une boucleComment acceder un fichier en C
Structure binaire d'un fichier JPEGMode texte et question sur les socket.
Compter le nombre de ligne dans un fichier texte sous WindowsMettre texte en gras en js ou css dynamiquement
Plus de sujets relatifs à : Lecture d'un fichier texte en boucle C++


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR