Tableau dynamique à 2 dimensions
Je souhaiterais lire les lignes d'un fichier et que certaines données issues de ce fichier soient stockées dans un tableau qui s'agrandi au fur et a mesure de la lecture des lignes du fichiers. Par exemple a la lecture de la 10eme ligne le tableau aura 10 poste, au passage a la ligne suivante il en aura 11 etc...
Ce tableau serait a 2 dimensions, dont 1 fixe car je recupere 2 elements du fichier.
Code de la boucle while de lecture du fichier + boucle d'affichage du contenu du tableau dynamique :
Code:
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
|
while(!feof(f_in))
{
if (fgets(lineIn,sizeof(lineIn),f_in))
{
tabMiMaj = (int**)malloc(2*sizeof(int));
for(i = 0; i < 2; i++)
{
tabMiMaj[i] = (int*)malloc(nbrArt * sizeof(int));
}
//GetField : permet de recuperer un element d'une ligne a
//partir de son numero d'ordre dans la ligne
tabMiMaj[0][nbrArt] = atoi(GetField(0,lineIn));
tabMiMaj[1][nbrArt] = atoi(GetField(1,lineIn));
nbrArt ++;
printf("%d\n",nbrArt);
}
}
for(i = 0 ; i < nbrArt ; i++)
{
for(j = 0 ; j < 2 ; j++)
{
printf("numero article : %d \n numero major : %d\n",tabMiMaj[j][i]);
}
} |
Je précise que ma fonction GetField() marche parfaitement...malheureusement je crois que qu'a chaque malloc mes donnees ne sont pas conservees, a moins que le probleme soit ailleurs car l'affichage me retourne des donnees completement erronees, et qui plus est, tout le temps les memes....
Merci pour votre aide.