[C] Couille quand je modifie un char d'une structure

Couille quand je modifie un char d'une structure [C] - C++ - Programmation

Marsh Posté le 04-05-2002 à 16:14:10    

voila, j'ai un blem kan j'affecte une valeur au char ident de cette structure (elle est déclarer hors d'une fonction) :
 
typedef struct module {
  char ident[10];
  struct module *children;
  struct module *prev;
  struct module *next;
} module;
 
pour le modifier j'utilise ça dans une fonction :
 
void modif (module *point, char* id) {
point->ident = id;
}
 
(c k'un exemple, y'a plus de code ;))
 
et kan je compile j'ai cette erreur :
 
plugin.c:91: incompatible types in assignment
 
sachant ke le blem vient pas la déclaration de la variable "id" puisque même en mettant ça :
 
point->ident = "test";
 
ça merde :/
 
 
kkl1 saurais pkoi ça merde komme ça ?
 
 
ps : j'ai aussi essayé en mettant un "\0" à la fin et ça a pas marcher ;)

Reply

Marsh Posté le 04-05-2002 à 16:14:10   

Reply

Marsh Posté le 04-05-2002 à 16:35:23    

au lieu de point->ident = id;  
mettre:
strncpy(point->ident, id, 9);
point->ident[9] = 0;

Reply

Marsh Posté le 04-05-2002 à 16:49:11    

merci :love:  
 
 
le "point->ident[9] = 0;" c pour le caractère final ? c pas plutôt \0 ?

Reply

Marsh Posté le 04-05-2002 à 19:42:17    

ca revient au meme.
0 c le code ascii du caractere '\0'.
 
@+


---------------
L'homme sage apprend de ses erreurs.  
Reply

Marsh Posté le 04-05-2002 à 19:46:54    

ok, de toute façon je l'ai enlevé, ça merdé et apparament c inutile ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed