Lire un fichier.txt en c++ ... sous builder c++

Fermé
MilaMissa Messages postés 24 Date d'inscription jeudi 5 décembre 2013 Statut Membre Dernière intervention 28 avril 2015 - 20 avril 2015 à 12:53
mamiemando Messages postés 33459 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 janvier 2025 - 8 mai 2015 à 00:58
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
A voir également:

1 réponse

mamiemando Messages postés 33459 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 janvier 2025 7 813
8 mai 2015 à 00:58
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/


std::istringstream
double x, y;
iss >> x >> y;


Bonne chance
0