Bonjour a tous, je suis debutant et j'aimerais savoir
comment extraire une ligne d'un fichier txt( par exemple
la 4eme ligne)et l'afficher a l'ecran mais je ne sais pas comment faire!( pour l'extraire) Pouvez-vous m'aider S.V.P. Merci d'avance !
Version imprimable
Bonjour a tous, je suis debutant et j'aimerais savoir
comment extraire une ligne d'un fichier txt( par exemple
la 4eme ligne)et l'afficher a l'ecran mais je ne sais pas comment faire!( pour l'extraire) Pouvez-vous m'aider S.V.P. Merci d'avance !
En C, un fichier texte se lit ligne par ligne avec fgets().
En C++, un fichier texte se lit ligne par ligne avec un std::ifstream et la fonction std::getline().
Donc, pour extraire la 4e ligne, il te faudra lire les 3 premières avant.
Pourriez-vous me montrer un exemple s'il vous plait car j'ai essaye mais ca
affiche toujours la premiere ligne !De plus, je souhaiterais seulement afficher
la 4eme ligne. Excusez-moi. Au fait, je travaille avec Dev C++.
:)
Arg, mais d'où viennent ces infidèles qui osent parler de fgets sur le forum C++? :mouarf:
Pour lire la quatrième ligne avec la stl:
Code:
1
2
3
4
5
6
7
8
9
10
11 #include <fstream> #include <string> using namespace std; ... ifstream fich("machin.txt"); string ligne; for(int i=0;i<4;i++) getline(fich,ligne); //ligne contient la quatrième ligne cout << ligne; fich.close();
merci beaucoup! ca marche !
Oups, je me suis cru ailleurs... :oops:Citation:
Envoyé par zais_ethael
Voilà ce que c'est de fréquenter les deux forums.
Corrigé.
Code:
1
2
3
4
5
6
7
8 assert(N>0); for ( int i=0 ; i<(N-1) && file ; ++i) file.ignore(std::numeric_limits<streamsize>::max(), '\n'); if (file && std::getline(file, line)) // OK le test de file est pas nécessaire { std::cout << "la " << N << "ieme ligne est \n-> " << line << "\n"; }
Je vais aussi essailler l'autre !
Merci beaucoup ! :D