Bonjour,

Je cherche à lire un fichier contenant des entiers et des flotants séparés par une virgule. N'arrivant pas à gérer la virgule, j'utilise getline et je convertis en int ou float.

Mais lors de la compilation la fonction strtof est mal interprété. Voici mon code :

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
#include <cstdlib>
#include <fstream.h>
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <vector>
#include <string>
 
#include "fonc_mod.h"
 
 
using namespace std;
using std::cout;
 
void lecture(ifstream & donnee, int indice[], float p[], float w[], int nb_article){
 
 
		char ligne;
		donnee >> ligne;
        donnee >> ligne;
 
		int i;
        char tampon[10];
		for (i=0;i<nb_article;i++){
 
			donnee.getline(tampon, 10, ', ');
            indice[i] = strtol(tampon, (char **)NULL, 10);
            donnee.getline(tampon, 10, ', ');
            w[i] = strtof(tampon, 0);
            donnee.getline(tampon, 10);
            p[i] = strtof(tampon, 0);
		};
        donnee >> ligne;
};
Et voici le message d'erreur à la compilation

30 fonc_mod.cpp implicit declaration of function `int strtof(...)'
Meric d'avance