Bonjour tout le monde
J'ai un prbleme qui me bloque ca fait un bout de temps. En fait, je veux declarer un tableau de chaine de caractéres et le remplire. Pour ce la j'utilise une boucle. Cepenadant toutes les cases du tableau ne contiennent que la derniere chaine entrées. Voila mon code.
char **colname = NULL; // Nom de chaque vraibles (xi ou Lamda_i)
colname = (char *) malloc (NUMCOLS * sizeof(char));
Sinon, en moins "barbare":
char **colname = NULL; // Nom de chaque vraibles (xi ou Lamda_i)
colname = (char *) malloc (NUMCOLS * sizeof(char*));
k=0;
for(j=0;j<D->Nbr_colones; j++)
{
for(i=0;i<D->Card_Article; i++)
{
sprintf(C, "Lambda%d%d", i, j); //Ca c'est parcque je suis faineant, mais tu devrais eviter sprintf, c'est vraiment la grosse artillerie pour pas grand chose!!!
colname[k] = (char*)malloc(strlen(C)+1);
colname[k] = C;
k++;
}
}
Une petite question quand meme: Tu peux nous donner les valeurs de NUMCOLS, D->Nbr_colones, D->Card_Article?Vive le C
Savon
Moi, je serais interessé de savoir
quel est le bug en question (messages d'érreur, réaction du programme
etc.) et ce que vaut C (c'est quoi, un tableau?)
désolé SAKingdom, j'ai betement copie coller ce qu'il avait écrit lors de mon second post :(
Honte à moi ;)
Le bug venait bien du char*.
sizeof(char)=1 tandis que sizeof(char*)=4.
Donc pas la meme quantité de mémoire allouée evidemment et au bout d'un moment, on déborde.
Vive le C
Savon