[Resolu] Comment lire dans un fichier ligne par ligne

Comment lire dans un fichier ligne par ligne [Resolu] - C++ - Programmation

Marsh Posté le 26-12-2006 à 14:38:51    

j'aimerai pouvoir lire dans un fichier (nommé x.ini pour l'occasion)  ligne par ligne , pour comparer une variable char nom avec chaque ligne de mon fichier et si ma variable nom est trouver ; qu'il m'afficher les 100 lignes suivante de mon fichier x.ini.
 
j'espere que vous m'avez suivi ! si il vous manques des informations , je suis a votre disposition ;)  
 
Merci a ceux qui voudrais bien ce donner la peine de m'aider :) !!!


Message édité par JUPITER22 le 26-12-2006 à 17:23:24
Reply

Marsh Posté le 26-12-2006 à 14:38:51   

Reply

Marsh Posté le 26-12-2006 à 14:41:01    

tu peux t'en sortir avec un buffer des des regexp.
sinon doit bien y avoir une lib textfile qui permet de le faire de façon plus naturelle

Reply

Marsh Posté le 26-12-2006 à 14:43:04    

en faite c'est  en mode console je cherche pas trop la complication pour l'instant

Reply

Marsh Posté le 26-12-2006 à 15:24:18    

Reply

Marsh Posté le 26-12-2006 à 16:20:49    

Taz a écrit :

std::getline

 :??:  
 

Code :
  1. #include <iostream>         // affichage a l'ecran
  2. #include <windows.h>        // fonction Sleep
  3. #include <dos.h>            // commandes dos
  4. #include <fstream>        // lecture et ecriture
  5. #include <cstdio>           // fonction de lecture / ecriture sur des fichier
  6. #include <string>          // copie des string
  7. #include <sstream>          //pour std::istreamstring
  8. #include <iomanip.h>
  9. using namespace std;        // evite de mettre std::
  10. int main()
  11. {
  12. char nom [256];
  13. cout << " Quel est ton nom ? \t";
  14. cin >> nom;
  15. ifstream x("description.ini",ios::in);
  16. char recherche[256];
  17. int compteur = 0;
  18. do
  19. {
  20. x.getline (recherche , sizeof(nom), '\n');
  21. cout << recherche << ";" << nom;           // verif
  22. compteur++;
  23.     if (nom == recherche)
  24.     {
  25.     cout << endl << endl << " Identification de " << nom << endl << endl;
  26.     compteur = 0;
  27.     cout << " Listing : " << endl;
  28.     do
  29.     {
  30.     compteur ++;
  31.     x.getline (recherche , sizeof(nom), '\n');
  32.     cout << recherche;
  33.     }
  34.     while (compteur == 100);
  35.     system("pause" );
  36.     return 0;
  37.     }
  38. }
  39. while (compteur == 100);
  40. cout << endl << endl <<  "Vous n'etes pas enregistrer " << nom << endl << endl;
  41. getchar();
  42. return 0;
  43. }


 
oui si tu veus :s
voila ce que j'ai essayé de faire mais :s ca compile et fais ce que je veus
cout << recherche << ";" << nom; bah la recherche est bien == a nom !
mais le bins c'est que mon programme ne va pas dans la boucle => if (nom == recherche)  :ouch:  

Reply

Marsh Posté le 26-12-2006 à 16:22:52    

vire tes char * :o
utilise std::getline :o

Reply

Marsh Posté le 26-12-2006 à 16:27:51    

while (compteur == 100); [:pingouino]


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 26-12-2006 à 16:52:57    

apparement on est pas mal a esperer une reponse :s enfin une qui soit plus precise que : vive tes pointeur et utilise std::getline ou bien while (compteur == 0); car ca on peu pas dire que ca m'aide :s

Reply

Marsh Posté le 26-12-2006 à 16:59:47    

essaye de faire ce qu'il te dis, et de comprendre tes while, ça peut ptêtre t'aider...


Message édité par 0x90 le 26-12-2006 à 17:00:00

---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 26-12-2006 à 17:06:30    

oui merci c'est ce que je vien de voir ca bouclais tans que mon compteur etais egale a 100 donc forcement avec while (compteur != 100); ca marche mieu mais a suivre encore car je suis pas sur que ca m'affiche mes 100 lignes suivantes

Reply

Marsh Posté le 26-12-2006 à 17:06:30   

Reply

Marsh Posté le 26-12-2006 à 17:11:02    

euh les balise marche pas en post rapide
 

Code :
  1. #include <iostream>         // affichage a l'ecran
  2. #include <windows.h>        // fonction Sleep
  3. #include <dos.h>            // commandes dos
  4. #include <fstream>        // lecture et ecriture
  5. #include <cstdio>           // fonction de lecture / ecriture sur des fichier
  6. #include <string>          // copie des string
  7. #include <sstream>          //pour std::istreamstring
  8. #include <iomanip.h>
  9. using namespace std;        // evite de mettre std::
  10. int main()
  11. {
  12. char nom [256];
  13. cout << " Quel est ton nom ? \t";
  14. cin >> nom;
  15. ifstream x("description.ini",ios::in);
  16. char recherche[256];
  17. int compteur = 0;
  18. do
  19. {
  20. x.getline (recherche , sizeof(nom), '\n');
  21. cout << recherche << ";" << nom << endl;
  22. compteur++;
  23.     if (*nom == *recherche)
  24.     {
  25.     cout << endl << endl << " Identification de " << nom << endl << endl;
  26.     compteur = 0;
  27.     cout << " Listing : " << endl;
  28.     do
  29.     {
  30.     compteur ++;
  31.     x.getline (recherche , sizeof(nom), '\n');
  32.     cout << recherche;
  33.     }
  34.     while (compteur != 100);
  35.     system("pause" );
  36.     return 0;
  37.     }
  38. }
  39. while (compteur != 100);
  40. cout << endl << endl <<  "Vous n'etes pas enregistrer " << nom << endl << endl;
  41. getchar();
  42. return 0;
  43. }


Reply

Marsh Posté le 27-12-2006 à 10:54:16    

Taz a écrit :

vire tes char * :o
utilise std::getline :o


Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed