Lire un fichier.txt en c++ ... sous builder c++
Salut
Je suis debutante en c++, et je travaille avec builder 6, je souhaite lire un fichier qui comporte des coordonnées (X, Y) , et faire des claculs avec ces points ( calculer des distances entre les points mais pas ligne par ligne) , quelqu'un a une idée ?
Merci
Je suis debutante en c++, et je travaille avec builder 6, je souhaite lire un fichier qui comporte des coordonnées (X, Y) , et faire des claculs avec ces points ( calculer des distances entre les points mais pas ligne par ligne) , quelqu'un a une idée ?
Merci
A voir également:
- Lire un fichier.txt en c++ ... sous builder c++
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Lire un fichier epub - Guide
- Pdftk builder - Télécharger - PDF
- Tiny11 builder - Accueil - Windows
- Family tree builder - Télécharger - Généalogie
1 réponse
La manière propre consiste à lire le fichier ou l'ouvrant avec un std::ifstream, ouis le lire ligne par ligne avec la méthode getline...
http://www.cplusplus.com/reference/istream/istream/getline/
... ou comme ceci (même si passer par une string intermédiaire est superflu) :
https://cpp.developpez.com/faq/cpp/?page=Manipulation-des-fichiers#Comment-faire-pour-lire-un-fichier-ligne-par-ligne
Une fois la ligne récupéré il faut idéalement contrôler qu'elle respecte le motif attendu (ici deux doubles) à l'aide d'une std::regex.
http://www.cplusplus.com/reference/regex/regex_match/
Les std::regex n'étant que dans les versions récentes de c++, tu peux aussi partir du postulat optimiste que chaque ligne est bien formée et donc lire tes deux doubles en passant par un std::istringstream :
http://www.cplusplus.com/reference/sstream/istringstream/istringstream/
Bonne chance
http://www.cplusplus.com/reference/istream/istream/getline/
... ou comme ceci (même si passer par une string intermédiaire est superflu) :
https://cpp.developpez.com/faq/cpp/?page=Manipulation-des-fichiers#Comment-faire-pour-lire-un-fichier-ligne-par-ligne
Une fois la ligne récupéré il faut idéalement contrôler qu'elle respecte le motif attendu (ici deux doubles) à l'aide d'une std::regex.
http://www.cplusplus.com/reference/regex/regex_match/
Les std::regex n'étant que dans les versions récentes de c++, tu peux aussi partir du postulat optimiste que chaque ligne est bien formée et donc lire tes deux doubles en passant par un std::istringstream :
http://www.cplusplus.com/reference/sstream/istringstream/istringstream/
std::istringstream
double x, y;
iss >> x >> y;
Bonne chance