• # Plus fondamental !

    Posté par . En réponse au message copie de chaîne de caractère. Évalué à 2.

    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;