Bonjour,
désolé pour le sujet limite, mais c'est parce que je craque.
Je veux extraire une chaine d'un fichier csv. Ma ligne line est correct en entrée. Ma fonction marche 1 seule fois. A la 2ieme ligne, ça plante et je ne trouve pas pourquoi.

Voici le 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
void getAndSetDataFromCSVLine(string line)
{
    char *ch;
    char separator = ',';
    ch = new char [line.size()+1];
    strcpy(ch,line.c_str());
 
    _date.clear(); _date = strtok(ch,&separator);
    _time.clear(); _time = strtok(NULL,&separator);
    Status1.clear(); Status1 = strtok(NULL,&separator);
    TA_2m_AVG.clear(); TA_2m_AVG = strtok(NULL,&separator);
    Status2.clear(); Status2 = strtok(NULL,&separator);
    RH_2m_AVG.clear(); RH_2m_AVG = strtok(NULL,&separator);
    Status3.clear(); Status3 = strtok(NULL,&separator);
    DP_2m.clear(); DP_2m = strtok(NULL,&separator);
    Status4.clear(); Status4 = strtok(NULL,&separator);
    PA_2m_AVG.clear(); PA_2m_AVG = strtok(NULL,&separator);
    Status5.clear(); Status5 = strtok(NULL,&separator);
    WindSpeed_AVG.clear(); WindSpeed_AVG = strtok(NULL,&separator);
    Status6.clear(); Status6 = strtok(NULL,&separator);
    WindSpeed_MAX.clear(); WindSpeed_MAX = strtok(NULL,&separator);
    Status7.clear(); Status7 = strtok(NULL,&separator);
    WindSpeed_MIN.clear(); WindSpeed_MIN = strtok(NULL,&separator);
    Status8.clear(); Status8 = strtok(NULL,&separator);
    WindDir_AVG.clear(); WindDir_AVG = strtok(NULL,&separator);
    Status9.clear(); Status9 = strtok(NULL,&separator);
    WindDir_MAX.clear(); WindDir_MAX = strtok(NULL,&separator);
    Status10.clear(); Status10 = strtok(NULL,&separator);
    WindDir_MIN.clear(); WindDir_MIN = strtok(NULL,&separator);
}
Merci de votre aide.