moloko2000
Messages postés16Date d'inscriptionmardi 5 août 2003StatutMembreDernière intervention26 août 2003
-
14 août 2003 à 15:55
HCJarod
Messages postés221Date d'inscriptionmardi 12 août 2003StatutMembreDernière intervention11 décembre 2008
-
17 août 2003 à 18:46
j'utilise un char[8] : crit_r->birthDate et je lui passe 8 caractères(rien de plus normal jusque là) comme suit:
crit_r->birthDate ="1245221"
Le problème c'est que j'obtient l'erreur suivante:
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20124 14 août 2003 à 16:07
oui, mais mon post comporte 5 fois plus de mot et est plus précis car je dis qu'on ne peut pas utiliser '=' pour les chaines de caracteres.
Bien essayé :p
Vous n’avez pas trouvé la réponse que vous recherchez ?
francisdanes
Messages postés3Date d'inscriptionjeudi 14 août 2003StatutMembreDernière intervention30 août 2003 14 août 2003 à 16:20
-------------------------------
Réponse au message :
-------------------------------
> j'utilise un char[8] : crit_r->birthDate et je lui passe 8 caractères(rien de plus normal jusque là) comme suit:
>
> crit_r->birthDate ="1245221"
>
> Le problème c'est que j'obtient l'erreur suivante:
>
> error C2106: '=' : left operand must be l-value
>
>
>
Il te suffit de déclarer ta variable comme un simple pointeur de char. ensuite tu peux lui affecter ta chaîne de char
exemple :
char * toto ;
toto = "123456" ; // sans limite de taille !
lorsque tu donnes dans ton programme une constante chaîne de caractères telle que "123456", la chaîne est rentrée en mémoire et "123456" est l'adresse mémoire où C l'a stockée.
HCJarod
Messages postés221Date d'inscriptionmardi 12 août 2003StatutMembreDernière intervention11 décembre 20081 14 août 2003 à 16:45
Faire ce que tu dis sans malloc() (ou au moins une allocation statique)!!?? Tu déclare un pointeur mais ta chaine ou tu la met si tu ne lui alloue pas de la mémoire?
a+
HCJarod
Messages postés221Date d'inscriptionmardi 12 août 2003StatutMembreDernière intervention11 décembre 20081 17 août 2003 à 18:32
En d'autre termes, tu es en train de me dire que le malloc ne sert à rien? char *toto puis toto="chaine de caractère" c'est suffisant. Tu me parle aussi de constantes, tu peux préciser ta penser (par un exemple)
a+
HCJarod
Messages postés221Date d'inscriptionmardi 12 août 2003StatutMembreDernière intervention11 décembre 20081 17 août 2003 à 18:46
Pour moi jusqu'a présent, le seul moment ou le malloc() est inutile est pour une allocation statique du style char*toto="chaine". Sinon char*toto puis toto=malloc(sizeof(char)*7) et enfin strcpy(toto,"chaine"). Amoins que l'on m'explique se qui ne vas pas, pour moi c'est les seul manière de procéder.
lorsque tu me dis
char *toto;
toto="chaine";
Ca décoiffe.
a+