2013-08-24 4 views
0

Ceci est ma fonction de comparaison ...Utilisation correcte du tri par scandir()?

int nameSort(const struct dirent** file1, const struct dirent** file2){ 

    char* a = *file1 -> d_name; 
    char* b = *file2 -> d_name; 
    //printf("comparing %s  AND %s\n", a, b); 
    return strcasecmp(a,b); 
} 

h erreur: demande de membre « d_name » quelque chose pas une structure ou d'une union Quel est le problème ici?

Répondre

1

Precedence de -> sélection des membres par l'opérateur de pointeur est plus élevé sur * opérateur de la défense, si

*file1->d_name; 

devrait être:

(*file1)-> d_name; 
+0

Donnez-lui un essai, il devrait fonctionner –