我有一个名为DIR目录名。 它包含以下列文件
12.07.2013
13.07.2013
14.07.2013
15.07.2013
16.07.2013
17.07.2013
我写了下面的C程序目录dir显示所有文件
代码:
#include <stdio.h>
#include <string.h>
#include <dirent.h>
int main (int argc, char *argv[])
{
DIR *directory;
struct dirent *file;
directory = opendir (argv[1]);
if (directory != NULL){
while (file = readdir (directory))
printf("FILE : %s \n",file->d_name);
(void) closedir (directory);
}
else
printf("Not able to open the directory\n");
return 0;
}
上面的代码给实际输出
FILE : 14.07.2013
FILE : 13.07.2013
FILE : 17.07.2013
FILE : .
FILE : 15.07.2013
FILE : ..
FILE : 12.07.2013
FILE : 16.07.2013
但我预计产量像下面正确的顺序
FILE : 12.07.2013
FILE : 13.07.2013
FILE : 14.07.2013
FILE : 15.07.2013
FILE : 16.07.2013
FILE : 17.07.2013
当我直接看到在目录中的文件是安排和正确的顺序diplaying文件。
那么,为什么上面的C代码不按照正确的顺序读取文件时,我的意思是随机读取文件。
工作环境:Linux操作系统(ubuntu12.04),gcc编译器
谢谢