dir under linux.Linux下的类dir程序.

原创 2007年09月21日 17:43:00

示例在linux如何获取文件信息.

#include <unistd.h>
#include 
<stdio.h>
#include 
<stdlib.h>
#include 
<string.h>
#include 
<errno.h>
#include 
<sys/types.h>
#include 
<sys/stat.h>
#include 
<dirent.h>
#include 
<time.h>

static int get_file_size_time(const char *file_path,const char *filename) ...{
    
struct stat statbuf;
    
if(stat(file_path,&statbuf) == -1...{
        printf(
"Get stat on %s Error:%sn",
            filename,strerror(errno));
        
return -1;
    }

    
//获得目录
    if(S_ISDIR(statbuf.st_mode)) ...{
        printf(
"[%s]n",filename);
        
return 1;
    }

    
//获得文件
    if(S_ISREG(statbuf.st_mode)) ...{
        printf(
"%stsize:%ld bytestmodified at %s",
            filename,statbuf.st_size,
            ctime(
&statbuf.st_mtime));
    }

    
return 0;
}


int main(int argc,char **argv) ...{
    DIR 
*dirp;
    
struct dirent *direntp;
    
int stats;

    
if(argc != 2...{
        printf(
"Usage:%s filnamena",argv[0]);
        exit(
1);
    }

    
    
//获得文件或错误
    if((stats = get_file_size_time(argv[1],argv[1]) == 0
        
|| (stats == -1)) exit(1);
    
//获得目录
    if((dirp = opendir(argv[1])) == NULL) ...{
        printf(
"Open Directory %s Error:%sn",argv[1],
            strerror(errno));
        exit(
1);
    }

    printf(
"Open Dir %s success.n",argv[1]);
    
while((direntp = readdir(dirp)) != NULL) ...{
        
int path_length = strlen(argv[1])
            
+ strlen(direntp->d_name) + 2;
        
char *file_path = (char*)malloc(path_length * sizeof(char));
        
if(file_path == NULL) ...{
            fprintf(stderr,
"Not enough memory.");
            exit(
1);
        }

        strcpy(file_path,argv[
1]);
        
if(file_path[strlen(file_path) - 1!= '/')
            strcat(file_path,
"/");
        strcat(file_path,direntp
->d_name);
        
if(get_file_size_time(file_path,direntp->d_name) == -1...{
            free(file_path);
            
break;
        }

        free(file_path);
    }

    closedir(dirp);
    
    
return 0;
}

 

dos dir命令简介

一、概述       dir命令的介绍完全可以通过dir /?来查看,但是没有例子,网上也多是直接拷贝的命令帮助。为便于以后自己查阅,于是决定自己写一篇,以例子为主。 二、主要内容 1.dir命...
  • GAMEloft9
  • GAMEloft9
  • 2015年01月09日 16:36
  • 738

KaFka单机安装

前言Kafka是一个分布式、多分区、多副本的消息服务。通过消息队列,生产者和消费者异步交互,而不需要彼此等待。相对于传统的消息服务,Kafka有以下特点:主题可以通过分区(Partition)来实现水...
  • vtopqx
  • vtopqx
  • 2017年11月26日 18:53
  • 245

windows CMD 命令下dir 命令

dir /? 显示目录中的文件和子目录列表。 DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N]  ...
  • hnjztyx
  • hnjztyx
  • 2016年10月24日 12:27
  • 5704

Python使用dir获取类的方法列表

使用Python的内置方法dir,可以范围一个模块中定义的名字的列表。官方解释是:Docstring: dir([object]) -> list of stringsIf called withou...
  • zjuxsl
  • zjuxsl
  • 2017年08月11日 23:53
  • 309

用java编程模仿DOS下的dir命令,列出某个目录下的内容

用递归的方法实现。 import java.io.File; import java.util.Scanner; public class ListFiles { public static ...
  • wjb0123456
  • wjb0123456
  • 2017年05月28日 11:30
  • 714

DIR:列出当前目录及子目录下的所有文件

实例:列出当前目录及子目录下的所有文件(/S/B),不包括文件夹(/A:A)   dir /S/B /A:A   以下内容只供参考 DIR——显示磁盘目录命令   1.功能:显示磁盘目录的内...
  • wubai250
  • wubai250
  • 2012年07月10日 14:52
  • 10911

Python中help() 与 dir()

在Python中行走的拐杖:help() 与 dir() 1.  Python v2.7.1 documentation » The Python Standard Library » 2. B...
  • GiantD008
  • GiantD008
  • 2016年07月28日 20:24
  • 162

gcc编译中常用参数: -I dir -L dir -w -Wall -On

1、-I dir 在头文件的搜索路径中添加目录dir目录。在include语句中“”表示在默认路径“/usr/include”和/usr/local/include中搜索头文件,引号“”表示在本目录下...
  • hehe123456ZXC
  • hehe123456ZXC
  • 2016年08月19日 23:45
  • 994

python os模块 练习题

Python的os模块封装了操作系统的目录和文件操作,要注意这些函数有的在os模块中,有的在os.path模块中。 1. 利用os模块编写一个能实现dir -l输出的程序。 ...
  • qq_36247422
  • qq_36247422
  • 2016年10月12日 21:42
  • 900

ruby Dir类涉及的几个函数

Dir[pattern] Dir.glob(pattern) Dir.glob(pattern) {|file| ...} Dir.glob(pattern[, flags]) ((ruby 1...
  • dazhi_100
  • dazhi_100
  • 2014年04月08日 17:07
  • 677
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:dir under linux.Linux下的类dir程序.
举报原因:
原因补充:

(最多只允许输入30个字)