Vie2006
Messages postés15Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention20 février 2007
-
10 déc. 2006 à 18:57
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 2009
-
10 déc. 2006 à 22:23
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));
julienbj
Messages postés452Date d'inscriptionjeudi 4 décembre 2003StatutMembreDernière intervention19 décembre 200815 10 déc. 2006 à 19:19
Tu as bien changé le char* en haut?
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
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?)
julienbj
Messages postés452Date d'inscriptionjeudi 4 décembre 2003StatutMembreDernière intervention19 décembre 200815 10 déc. 2006 à 19:36
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