C语言实现的计算一个文件下的所有文件的总大小(还有BUG,如果文件夹下面还有文件家就有问题,等待更新)
2011-07-21 16:03
579 查看
#include <stdio.h> #include <sys/types.h> #include <dirent.h> #include <stdlib.h> #include <string.h> int total_size = 0;//目录下文件的总大小 int count_file = 0;//目录下文件的个数 int count_size(char *file_path)//获取一个文件的大小 { int file_size = 0; FILE *fp = fopen(file_path, "rb"); if(fp == NULL) { printf("file open error!\n"); exit(-1); } fseek(fp, 0, SEEK_END); file_size = ftell(fp); fseek(fp, 0, SEEK_SET); fclose(fp); return file_size; } int main(int argc,char *argv[]) { char *dir = NULL; int file_size; dir = argv[1]; DIR *p = opendir(dir); if(p == NULL) { printf("open dir error!\n"); return ; } struct dirent * pd; while( pd = readdir(p)) { if(pd == NULL) { printf("read dir error!\n"); return ; } if(pd->d_name[0] == '.') continue; char path[255] = {0};//存储一个文件的完整路径,包括文件名 strcat(path, argv[1]); strcat(path, pd->d_name); strcat(path,"\0"); file_size = count_size(path); printf("file_size = %d\n", file_size); total_size += file_size; count_file++; } printf("the total size of the file path is %d\n", total_size); printf("the number of file is %d\n\n", count_file); closedir(p); return 0; }
相关文章推荐
- C#递归实现显示文件夹及所有文件并计算其大小的方法
- C语言 实现遍历一个文件夹的所有文件
- C#递归实现显示文件夹及所有文件并计算其大小的方法
- 每天学点linux--(用shell实现将一个文件夹下面的所有文件拷贝到另一个文件夹下/shell下如何重命名一个文件)
- 递归实现显示目标文件夹的所有文件和文件夹,并计算目标文件夹的大小
- C语言遍历一个文件夹下面的所有文件
- C语言实现查看一个文件夹目录里面所有内容的大小功能
- 如何查看Linux下面某一个目录下所有的隐藏文件和文件夹
- windows 下面 查找一个文件夹下的所有文件。整理版
- 在linux中用C程序实现读取一个文件中的字符,计算它的个数,并把个数显示在另外一个文件夹内
- 关于os的一系列问题:计算当前文件夹下所有文件的大小
- 如何批量将一个文件夹下所有的SQL文件执行,更新到数据库
- Python实现合并同一个文件夹下所有txt文件的方法示例
- 用C语言实现统计一个文件夹中各种文件的比例
- 复制一个文件夹中的所有文件和文件夹的java程序实现
- 计算网站根目录下面所有文件的大小
- 获取一个文件夹下所有文件的大小
- 巧妙实现之c语言计算文件大小
- 如何MFC实现计算一个文件夹的大小
- Linux系统遍历文件夹 获取文件大小的操作(C语言实现)