Les réponses qui t'ont été données sont correctes, spécialement lorsque l'on te dit d'utiliser des constantes symboliques (par exemple TAILLETEXTE).
Mais j'aimerais aller un peu plus au fond des choses.
Lorsque tu écris:
char texte[256;]
Tu définis deux choses pour le compilateur:
1) Une zone mémoire de 256 char
2) Un identificateur texte qu'en première analyse (pour faire simple) tu peux assimiler à une constante de type pointeur sur char qui pointe sur la zone définie.
Lorsque tu écris:
&texte="voila le texte que je veut ajouter";
Tu tentes d'affecter à l'adresse de la constante texte , l'adresse d'une autre constante ("voila le texte que je veut ajouter"), le compilateur ne devrait pas être franchement d'accord..
Amha, une bonne solution, robuste, devrait être:
#define TAILLETXT 256
char texte[TAILLETXT];
...
strncpy(texte,"voila le texte que je veut ajouter",TAILLETXT-1);
texte[TAILLETXT-1] = 0x00;
# Plus fondamental !
Posté par abgech . En réponse au message copie de chaîne de caractère. Évalué à 2.
Mais j'aimerais aller un peu plus au fond des choses.
Lorsque tu écris:
Tu définis deux choses pour le compilateur:
1) Une zone mémoire de 256 char
2) Un identificateur texte qu'en première analyse (pour faire simple) tu peux assimiler à une constante de type pointeur sur char qui pointe sur la zone définie.
Lorsque tu écris:
&texte="voila le texte que je veut ajouter";
Tu tentes d'affecter à l'adresse de la constante texte , l'adresse d'une autre constante ("voila le texte que je veut ajouter"), le compilateur ne devrait pas être franchement d'accord..
Amha, une bonne solution, robuste, devrait être: