Bonjour,

J'essaye de lire un fichier CSV et récupérer les valeurs puis en faire un tableau. Mais je pense avoir un problème de typage car lors de la lecture et au premier affichage j'ai bien récupéré mes valeurs. Je les insère ensuite dans un tableau, puis j'affiche mon tableau. Et là c'est la catastrophe...

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
 
#include <stdio.h>
#include <stdlib.h>
#define TAILLE_MAX 100 
 
 
 
int main(int argc, char *argv[])
{
    FILE* HPL_fichier = NULL;
    FILE* CAS_fichier = NULL;
    char buffer_lecture1[TAILLE_MAX] = "";
    char buffer_lecture2[TAILLE_MAX] = "";
    int n = 1;
    int m = 1;
    int i = 0;
    const char s[2] = ";";
    char *token1;
    char *token2;
    int hauteurs[20];
    int largeurs[20];
    int tailles[400][2];
 
 
    HPL_fichier = fopen("HPL.csv", "r");
    CAS_fichier = fopen("CASIERS.csv", "r");
 
     if (HPL_fichier != NULL && CAS_fichier != NULL)
    {
 
       //définition des casiers envisagés-----------------
        fgets(buffer_lecture1, TAILLE_MAX, CAS_fichier);//on prend une ligne du CSV
 
 
        token1 = strtok(buffer_lecture1, s);//on la découpe selon les ;
 
 
		while( token1 != NULL ) 
			   {
			      n++;
			      printf( " %s\n", token1 );//ici affichage impeccable
			      hauteurs[n] = (int) token1;
			      token1 = strtok(NULL, s);
			   }
			   hauteurs[0] = n;
		n = 1;	   
 
 
 
        fgets(buffer_lecture1, TAILLE_MAX, CAS_fichier);//on prend une ligne du CSV
 
 
        token1 = strtok(buffer_lecture1, s);//on la découpe selon les ;
 
 
		while( token1 != NULL ) 
			   {
			      n++;
			      printf( " %s\n", token1 );//ici affichage impeccable
			      largeurs[n] = (int) token1;
			      token1 = strtok(NULL, s);
			   }
			   largeurs[0] = n;
		n = 1;	   
 
 
 
 
		//création tableau --------------------------------------------------
 
		for(n = 1 ; n < hauteurs[0] ; n++) {
			for(m = 1 ; m < largeurs[0] ; m++) {
 
				tailles[1][i] = hauteurs[n];
				tailles[2][i] = largeurs[m];
 
				printf("\nlargeur = %d | hauteur = %d\n", tailles[1][i], tailles[2][i] );//ici affichage qui ne veut plus rien dire...
				i++;
			}
		}
 
 
 
 
 
 
 
 
    }
    else
    {
        printf("Il manque un fichier en entrée");
    }
 
        fclose(HPL_fichier);
        fclose(CAS_fichier);
 
    return 0;
}