int main(int argc, char *argv[])
{
DIR *pdir;//目录流指针
struct dirent *ptr; //指向目录结构(目录结构体指针)
//要有两个参数才行
if(argc != 2)
{
printf("参数不正确!\n");
exit(1);
}
if((pdir = opendir(argv[1])) == NULL)
{
printf("不能打开目录: %s\n", argv[1]);
exit(1);
}
while((ptr = readdir(pdir)) != NULL) //读到目录尾或出错返回NULL
{
printf("文件名: %s\n", ptr->d_name);//struct dirent结构参考字典p366
}
return 0;
}
关于 struct dirent结构体原型为:
struct dirent
{
ino_t d_ino; //目录进入点的inode
off_t d_off; //目录开头到这个进入点的位移
unsigned short int d_reclen; //d_name的长度, 不包含NULL
unsigned char d_type; //d_name文件类型
char d_name[256]; //目录中的文件名
};