salut,

j'ai fait un petit programme pour ouvrire un fichier texte qui contient seument des chifres séparées par des points virgules.ce programme lit les chifres comme un string puis il les transforme en entier.mais quand les chiffres contient une virgule, il me donne des zéros.
le code est :
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
29
30
31
32
33
34
35
36
37
 
#include <algorithm>
#include <fstream>
#include <string>
#include <iostream>
#include <sstream>
#include <functional>
using namespace std;
double nbLigne = 0;
int main()
{
int fonction();
double *tab=new double [100];
ifstream fichier( "newBase.txt" );
int nbElement = 0;
if ( fichier ) // ce test échoue si le fichier n'est pas ouvert
{
string ligne; // variable contenant chaque ligne lue
while ( getline( fichier, ligne,';') )
{
//transformation de string en double
stringstream s;
s << ligne;
double n;
s >> n;
 
tab[nbElement]=n;
nbElement++;
 
}
}
//for (int i=0;i<nbElement;i++)
//cout <<"tab["<<i<<"]=" <<tab <<endl;
 
cout <<"le nombre des elements =" <<nbElement<<endl;
delete [] tab;
}
le fichier newbase contient les chiffres suivanr:
3,1; 0,076; -0,36; -0,014; 0,026 ;
merci pour les réponses.