Récupération valeurs, fichier texte
Bonjour tout le monde,
Je post car j'aurais besoin d'un peu d'aide sur l'extraction de valeurs dans un fichier texte.
J'ai donc un fichier texte qui se constitue comme suit :
Puissance moteur [kW] : 3200
Rendement moteur : 0.87
Débit [m3/h] : 50000
...
Je voudrais récupérer les valeurs en fin de phrase. N'y arrivant pas j'avais pensé d'abord mettre les ":" à la même distance sur chaque ligne histoire d'aller récupérer la valeur juste après un nombre de caractères précis. D'où le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
ifstream base("D:/Utilisateurs/monNom/Desktop/test.txt");
if (base)
{
string ligne;
while (getline(base,ligne))
{
base.seekg(23, ios::beg);
double valeur;
base >> valeur;
cout << valeur << endl;
}
}
else
{
cout << "Ouverture impossible !" << endl;
}
return 0;
} |
Bien évidemment en faisant ça je tourne en rond car je reviens sans arrêt au début du fichier.
Je me pose donc deux questions :
1- Comment lui dire de passer à la ligne suivante ?
2- Pour le moment comme dans l'exemple, je mets tous les ":" en tant que 23 eme caractère de chaque ligne pour aller chercher le nombre après. N'y aurait-il pas une solution plus simple consistant simplement à aller chercher le seul nombre de chaque ligne ? En gros j'arrange mon fichier texte comme suit :
Puissance moteur [kW] : 3200
Rendement moteur------: 0.87
Débit [m3/h]----------: 50000
...
Merci d'avance pour votre aide.
Bonne journée,
Cdlt.