日期:2014-05-16  浏览次数:20733 次

关于目录的问题:scandir参数用不了alpasort字母排序
C/C++ code

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <dirent.h>
main()
{
    struct dirent**d;
    int r;
    int i;
    r=scandir("/home",&d,0,alpasort);//可以使用系统的alpasort字母排序或versionsort
    printf("子目录个数:%d\n",r);
    for(i=0;i<r;i++)
    {
        printf("%s\n",d[i]->d_name);
    }
}



r=scandir("/home",&d,0,0); --这行这样写是对的,但我想使用系统的alpasort排序功能,为什么上面就不对呢?

[root]# gcc t.c -omain
t.c: 在函数 ‘main’ 中:
t.c:31: 错误:‘alpasort’ 未声明 (在此函数内第一次使用)
t.c:31: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
t.c:31: 错误:所在的函数内只报告一次。)




------解决方案--------------------
不是
alpasort
而是
alphasort