正确使用scandir()排序?

时间:2013-08-24 20:31:33

标签: c sorting 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);
}

am error:请求成员'd_name',而不是结构或联合 这有什么不对?

1 个答案:

答案 0 :(得分:1)

通过指针运算符的->成员选择的

Precedence高于*防御运算符,所以

 *file1->d_name;

应该是:

 (*file1)-> d_name;