Bonjour,

Après plusieurs heures de recherche toujours pas de solution, je me rends compte que je ne suis pas aussi à l'aise avec les pointeurs que je ne pensais..

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
/* 
   Un fichier a :
   - un nom 
   - un descripteur de fichier
   - un tableau de fichier ou NULL si ce n'est pas un répertoire
*/
struct file {
  char* name;
  int fd;
  struct t_files* son;
};
 
/*
  un tableau de fichiers 
  - sa taille 
  - un tableau de pointeur vers des fichiers 
*/
struct t_files {
  struct file** t;
  int size;
};
Je souhaite trier selon le nom, pour cela j'ai :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
int struct_cmp_by_name(const void* a, const void*b ){
  struct file *ia = (struct file*)a;
  struct file *ib =  (struct file*)b;
  return strcmp(ia->name, ib->name);
}
 
int main(void) {
  struct t_files* res;
  /* fonction pour remplissage res (aucun problème de ce côté) */
  qsort (?, ??, ???, struct_cmp_by_name);
}
J'ai tenté de mettre différents paramètres sans succès.

Merci d'avance pour votre aide