Couille quand je modifie un char d'une structure [C] - C++ - Programmation
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;
Marsh Posté le 04-05-2002 à 16:49:11
merci
le "point->ident[9] = 0;" c pour le caractère final ? c pas plutôt \0 ?
Marsh Posté le 04-05-2002 à 19:42:17
ca revient au meme.
0 c le code ascii du caractere '\0'.
@+
Marsh Posté le 04-05-2002 à 19:46:54
ok, de toute façon je l'ai enlevé, ça merdé et apparament c inutile
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