J'ai un code syntaxiquement correcte mais qua

J'ai un code syntaxiquement correcte mais quand j'exécute le code le programme ne marche pas grâce au débogueur j ai trouvé a quel ligne est le problème mais j'ai ps compris c quoi le problème exactement. Voila le code: l'erreur est dans la fonction strcpy()

struct unite_lex
{
char lex[50],val[50];
struct unite_lex *next;
}; typedef struct unite_lex LISTE;

void chargi(UNITE *r,char *c,char *v)
{
strcpy(r->lex,c);
strcpy(r->val,v);
}

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Si tu es sûr que la syntaxe est correct, comment veux-tu que l'on y trouve une erreur ?
    C'est surement plus une question de contexte...

    Lorsque ça plante, quelles sont les valeurs de r, c et v ?
    r est de type UNITE, mais tu l'utilises comme étant une valeur de LISTE...

    Et surtout : quel est le message d'erreur ?
    1. Merci Pour votre rep,
      le message d'erreur est :Exception non gérée à 0x004117a5 dans Compil.exe : 0xC0000005: Violation d'accès lors de la lecture de l'emplacement 0x00000000.

      Problème d'adressage mais j'ai ps trouvé de solution alors si ta une idée aide moi svp.
      1. Modérateur
        L'adresse 0x00000000 c'est la valeur NULL, ce qui signifie que c ou v n'est pas une chaîne de caractères valide...
        Assures toi de ne jamais appeler chargi avec des valeurs à NULL et ça devrait bien se passer.
      2. Merci pour votre aide!! :)