Structure chainée - C - Programmation
Marsh Posté le 29-04-2011 à 17:03:45
Alors, en "bourrin", il y a :
Code :
|
mais si "tab[i].s" est une chaine de caractère, il suffit de mettre '\0' dans le premier octet de la chaine :
Code :
|
Marsh Posté le 29-04-2011 à 17:28:02
J'ai essayé la solution 2, et ça donne ce message d'erreur : incompatible types when assignning to type 'char[5]' from type 'int'
c'est étrange puisque '\0' est entre cotes donc ça devrait être un caractère et pas une entier.
Et si je mets :
Code :
|
il y a l'erreur : incompatible types when assignning to type 'char[5]' from type 'char*'
Marsh Posté le 29-04-2011 à 17:31:11
Et t->tab[i].s[0]='\0'; ou encore *(t->tab[i].s)='\0'; ça ne marche pas ?
Marsh Posté le 29-04-2011 à 17:48:14
oups... en effet, j'ai oublié le "[0]" après le 's', d'où l'erreur de type.
La solution de WiiDS doit marcher.
Marsh Posté le 29-04-2011 à 17:59:51
ah oui ça fonctionne, merci bien.
et pour initialiser avec une valeur donné comme par exemple "abc"
j'essaye de faire : t->tab[i].s="abc"; mais ça ne passe pas, j'ai le même type d'erreur qu'au dessus
Marsh Posté le 29-04-2011 à 16:46:00
Bonjour,
Je dispose des structures suivantes :
Il y a donc, un tableau de sauvegarde, qui contient un champ next et une chaine de caractères s.
Mon souhait est d'initialiser une table, avec la fonction suivante :
Sauf que ça ne passe pas à la compilation, il y a un problème à la ligne en rouge, à vrai dire je ne sais pas trop comment faire pour initialiser la chaine s, étant donné qu'elle a déjà une taille définie.
Je bloque sur ça, c'est pourquoi je sollicite votre aide.