Bonjour,

Je cherche a modifier un void pointer au sein d'une Hastable.
Si le mot est présent dans la table j'incrémente son champs data de type (void *) de 1.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
void hastable_add(char *mot){
  Entry e;
  Entry* r;
  e.key=mot;
  r=hsearch(e,FIND);
  //voila ou ca se gate, normalement r contient l'addresse du résultat de ma recherche
  if(r!=null){
    int* nombre;
    nombre=(int *)(r->data);
    (*nombre)++;
    }
}
Je n'ai pas les résultats attendus.
Je ne sais pas si pour changer le champs data je dois faire r->data ou (*r).data
Si je modifie nombre, r->data doit bien être changé par référence non?

Je vous remercie d'avance.