博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言实现查看一个文件夹目录里面所有内容的大小功能
阅读量:4167 次
发布时间:2019-05-26

本文共 1055 字,大约阅读时间需要 3 分钟。

第一种方法:

                     DIR *d; 

struct dirent *de; 
struct stat buf; 
  INT32 exists; 
INT64 total_size; 
d = opendir("."); 
if (d == NULL) 
   perror("prsize"); 
   exit(1); 
total_size = 0; 
for (de = readdir(d); de != NULL; de = readdir(d)) 
exists = stat(de->d_name, &buf); 
if (exists < 0) 
fprintf(stderr, "Couldn't stat %s\n", de->d_name); 
else 
total_size += buf.st_size; 
  closedir(d); 

  printf("%d\n", total_size); 

第二中方法:

FILE *fp;

    CHAR databuff[1024] = {0};
    CHAR *pstr = NULL;
    INT32    file_size = -1;
    sprintf(databuff, "du -sh  %s/%s/compress_%s/",WORK_DIR_PATH,LOG_DIR_PATH,logname);
printf("\n**************aaaaaaaaaaaaaaaaaaaaaaaaaa***********\n");
    fp  = popen(databuff, "r");
    if (fp == NULL)
    {
        pclose(fp);
        return -1;
    }
printf("\n**************1bbbbbbbbbbbbbbbbbbbbbb***********\n");
    if (fgets(databuff, sizeof(databuff), fp) != NULL && !(ferror(fp)))
    {
        pstr = strstr(databuff, "M");
        if (pstr != NULL)
        {
            file_size = (int)(atoi(databuff) * 1);
        }
    }
    else
    {
        return -1;
    }
    pclose(fp);
printf("\n**************=%04d***%04d K******\n",file_size,file_size/1024);
    return file_size;

   

转载地址:http://kwexi.baihongyu.com/

你可能感兴趣的文章
malloc(malloc在32位编译系统中分配的地址会8字节对齐,64为编译系统中会8或者16字节对齐)
查看>>
初始化时共享内存的key值和信号量初始化的key值可以一样
查看>>
linux创建线程之pthread_create
查看>>
pthread_attr_init线程通俗举例讲解与线程属性
查看>>
进程和线程的区别
查看>>
int main(int argc,char* argv[])详解,以及与int main()有什么区别
查看>>
SourceInsight全工程查找替换方法
查看>>
C语言chdir()函数:改变当前的工作目录
查看>>
Linux下的函数执行时间的统计方法(测试某个函数的执行时间)
查看>>
调整内核printk的打印级别(启动脚本中运行 echo 0 4 0 7 > /proc/sys/kernel/printk 关闭所有内核打印)
查看>>
临时关闭打开console办法
查看>>
Linux中gmtime和localtime的区别(time_t格式转换为tm格式)
查看>>
如果函数传递的是结构体,小心在调用的参数中给指针重新赋值(拿tm结构体举例)
查看>>
使用nm命令获取linux的可执行文件里或动态库中的所有函数名称
查看>>
动态库编写 头文件.h注意事项
查看>>
多个动态库的依赖问题(先后顺序务必注意)
查看>>
二叉树的最大深度
查看>>
N 叉树的最大深度
查看>>
剑指 Offer 52. 两个链表的第一个公共节点 & 相交链表
查看>>
剑指offer 03.数组中的重复数字(四种办法!哎,就是全!)
查看>>