Liste chainée et chaine de caractére [C/C++] - C - Programmation
Marsh Posté le 28-02-2007 à 14:06:03
Tout simplement parce qu'on assigne pas une chaine de caractère comme ça en C (ton code est écrit en C et non en C++, d'ailleurs, même en C++ ça ne marcherait pas)
- char nom[10];
+ char *nom;
- fgets((*liste).nom,7,stock);
+ liste->nom = malloc(8*sizeof(char))
+ fgets(liste->nom,7,stock);
- listeprod->nom="ensearien";
+ listeprod->nom=strdup("ensearien" );
Marsh Posté le 28-02-2007 à 14:20:51
merci
juste une precision
le compilateur ne reconnait pas la fonction "strdup"
faut-il ajouter une bibliotheque speciale?
et que fait cette fondtion, je la connais pas?
Marsh Posté le 28-02-2007 à 14:25:32
theshockwave a écrit : std::string; std::list .... |
en fait on est en C finalement
Marsh Posté le 28-02-2007 à 14:26:41
_darkalt3_ a écrit : en fait on est en C finalement |
dans ce cas, il va falloir aussi compiler en C ...
frodon131 a écrit : Mais pour le nom que je rentre comme chaine de caractere, le compilateur veut pas. |
Marsh Posté le 28-02-2007 à 14:33:35
theshockwave a écrit : dans ce cas, il va falloir aussi compiler en C ... |
je sais pas trop la difference mais j'utilise dev c++ chez moi sur windows et mes fichiers sont en .c à mon école
Marsh Posté le 28-02-2007 à 14:35:24
La fonction strdup c'est bon j'ai reussi à la faire marcher et l'affichage est correct pour les données que je rentre une par une mais maintenant c'est lors de l'affichage de la liste genéré par la lecture du fichier que ca plante
Marsh Posté le 28-02-2007 à 14:56:47
Je crois que tu la construis mal ta liste
Code :
|
Marsh Posté le 28-02-2007 à 12:59:49
Salut à tous
voila mon probleme, je defini une structure de liste chainée de produit donc qui comporte 4 valeurs: prix,code,quantitee et un nom.
c'est l'affectation de ces valeurs qui me posent pb.
Pour le prix/code/quantitée pas de probleme ; ce sont des entiers.
Mais pour le nom que je rentre comme chaine de caractere, le compilateur veut pas.
"ISO C++ forbids assignment of arrays"
à terme l'affectation doit etre automatique avec la lecture d'un fichier
Merci à tous ceux qui prendront le temps de m'aider