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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.