Pb chaines de caractères [C] - Programmation
Marsh Posté le 28-01-2001 à 17:13:35
Autre chose, le code qui apparait ici est celui situé juste apres un for qui s'arrete sur une valeur de i bien choisie.
Merci !
Marsh Posté le 28-01-2001 à 17:37:53
scanf(" %s",t[i].ref);ss
ref est déclaré en int, ça explique peut-être le pb
Marsh Posté le 28-01-2001 à 18:05:40
Ouaip, merci, mais c'était un mauvais copier coller, c'etait une ancinne version, je corrige ca ds le post
Merci qd meme !
Marsh Posté le 28-01-2001 à 18:11:26
Ta structure n'a pas de place pour stocker un nom !
Donc quand tu rentres le nom ça deborde sur les "champs" suivants.
Marsh Posté le 28-01-2001 à 18:13:59
Ok, mais pourquoi elle a pas de place ? Pourtant j'initialise mes deux pointeurs ( à l'aide d'une fonction qui s'execute avant ) comme suit :
t[i].nom=(char*)malloc(sizeof(char));
t[i].ref=(char*)malloc(sizeof(char));
Comment donner plus de place pour stocker "nom" ?
Merci du temps que vous m'accordez tous
Marsh Posté le 28-01-2001 à 17:04:02
Bon, vous moquez pas Voila ou ca couille :
//
printf("
--Votre article--
" );
printf("nom : " );
scanf(" %s",t[i].nom);
printf("
prix : " );
scanf(" %lf",&t[i].prix);
printf("
reference : " );
scanf(" %s",t[i].ref);
t[i].existe=1;
//
c'est au sein d'une fonction que j'ai appele create_article qui prend un tableau d'article en parametre. article étant un typedef struct :
typedef struct
{
int existe;
char *nom;
double prix;
int reste;
char *ref;
}article;
Donc ca merdouille au niveau des chaines de caractères ref et nom. Ma chaine de caractère nom se retrouve mixé avec la chaine de caractère ref, ce qui est embetant, ca fait 2/3 heures que je suis dessus, et je comprends pas, si une ame charitable passe par la ), merci d'avance
--Message édité par Evadream -jbd---