[C++] Fonction compte nombre de ligne fichier
Résolu
J'essai de coder une fonction en c++ pour compter le nombre de lignes d'un fichier texte.
J'ai deja écrit ce code mais j'obtient des erreurs de compilation et je ne sais pas pourquoi ...
#include <string> #include <fstream> #include <iostream> using namespace std; int nombreLignes (string fichier); int main() { string fichier("\"noeud.txt\""); cout << fichier <<endl; cout<<nombreLignes(fichier) <<endl; return 0; } //Fonction qui renvoi le nombre de ligne d'un fichier int nombreLignes (string fichier2) { std::ifstream fichier(fichier2); int Count = 0; std::string s; if ( fichier ) { while (std::getline(fichier, s)) {Count++;} return Count; } else { cout << "echec" <<endl;} return 0; }
J'ai deja écrit ce code mais j'obtient des erreurs de compilation et je ne sais pas pourquoi ...
A voir également:
- [C++] Fonction compte nombre de ligne fichier
- Fichier bin - Guide
- Fichier epub - Guide
- Fonction si et - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
4 réponses
#include <string> #include <fstream> #include <iostream> int nombreLignes (const std::string & filename) { std::ifstream fichier(filename.c_str()); std::string s; if(fichier){ unsigned int count = 0; while(std::getline(fichier,s)) ++count; return count; }else{ std::cout << "Ne peut ouvrir " << filename << std::endl; } fichier.close(); return 0; } int main(int argc,char **argv) { if(argc != 2){ std::cerr << "usage " << argv[0] << " fichier" << std::endl; return 1; } std::cout << nombreLignes(argv[1]) << std::endl; return 0; }
Bonne chance
C'est moi où t'essayes de lire le fichier "noeud.txt" ?
Essayes en faisant:
string fichier("noeud.txt");
Et pis comme l'a très bien dit Lupin, vires tous les std::
Essayes en faisant:
string fichier("noeud.txt");
Et pis comme l'a très bien dit Lupin, vires tous les std::
Bonjour,
autre commentaires...
le fait d'utiliser :
using namespace std;
ne t'oblige pas à écrire :
std::ifstream ...
simplement
ifstream ...
devrait suffire.
Lupin
autre commentaires...
le fait d'utiliser :
using namespace std;
ne t'oblige pas à écrire :
std::ifstream ...
simplement
ifstream ...
devrait suffire.
Lupin