1.1 列出一个目录下的所有文件

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];    //目录中的文件名
};


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值