Board logo

标题: [文本处理] 获取文件行数,以及文件大小(支持B,KB,M) [打印本页]

作者: Gin_Q    时间: 2020-3-23 21:18     标题: 获取文件行数,以及文件大小(支持B,KB,M)

  1. 一行的大小设置的1mb
  2. 参数列表:
  3. -f 指定文件名(1024字节)应该写成动态存储!
  4. -l (可选项,打印行数)
  5. -s 文件大小(必须参数【b】字节,【k】kb,【m】mb)
  6. 举例:
  7. 第一列行数,第二列文件大小
  8. D:\GIN\c\test>Gin.exe -f D:\result.txt -s b -l
  9. 366 7665.0
复制代码
链接: https://pan.baidu.com/s/1TZeM3H8e2mZd1O4EAznPNA 提取码: wwem
作者: wujunkai    时间: 2020-3-23 21:41

回复 2# Gin_Q


    我觉得可以用开关优化一下 , 比如 -l (line) -s (size)。
作者: Gin_Q    时间: 2020-3-23 21:51

回复 3# wujunkai


    行!
作者: Gin_Q    时间: 2020-3-30 21:20

本帖最后由 Gin_Q 于 2020-3-30 21:23 编辑

获取文件信息!不是很熟悉这个!
  1. #include <stdio.h>
  2. #include <time.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5. #include <io.h>
  6. int main(int argc,char **argv)
  7. {
  8. static char path[1024];
  9. char *pat_h=path;
  10. register int i=0,j=0,k=0;
  11. char **pf=argv;
  12. while (*(*pf+j))
  13. {
  14. if (*(*pf+j) == '\\') i++;
  15. j++;
  16. }
  17. pf=argv;
  18. for (j=0;k<i;j++,pat_h++)
  19. {
  20. if (*(*pf+j) == '\\')
  21. {
  22. k++;
  23. *pat_h='\\';
  24. pat_h++;
  25. }
  26. *pat_h = *(*pf+j);
  27. }
  28. pat_h=path;
  29. strcat(pat_h,"*.c");
  30. printf("%s\n",path);
  31. intptr_t handle;
  32. struct _finddata_t fileinfo;
  33. time_t t__a;
  34. struct tm* time__a;
  35. handle = _findfirst(pat_h,&fileinfo);
  36. if (handle == -1) exit(EXIT_FAILURE);
  37. do
  38. {
  39. t__a=fileinfo.time_access;
  40. time__a=localtime(&t__a);
  41. printf("%s 文件大小:%0.2lf kb 创建日期:%d/%d/%d %d:%d:%d\n",fileinfo.name,(float)fileinfo.size/1024,\
  42. time__a->tm_year+1900,time__a->tm_mon+1,time__a->tm_mday,time__a->tm_hour,time__a->tm_min,time__a->tm_sec);
  43. t__a=fileinfo.time_write;
  44. time__a=localtime(&t__a);
  45. printf("%s 文件大小:%0.2lf kb 修改日期:%d/%d/%d %d:%d:%d\n",fileinfo.name,(float)fileinfo.size/1024,\
  46. time__a->tm_year+1900,time__a->tm_mon+1,time__a->tm_mday,time__a->tm_hour,time__a->tm_min,time__a->tm_sec);
  47. t__a=fileinfo.time_create;
  48. time__a=localtime(&t__a);
  49. printf("%s 文件大小:%0.2lf kb 访问日期:%d/%d/%d %d:%d:%d\n",fileinfo.name,(float)fileinfo.size/1024,\
  50. time__a->tm_year+1900,time__a->tm_mon+1,time__a->tm_mday,time__a->tm_hour,time__a->tm_min,time__a->tm_sec);
  51. }while (!_findnext(handle,&fileinfo));
  52. _findclose(handle);
  53. return 0;
  54. }
复制代码
  1. D:\\GIN\\c\\test\\*.c
  2. cvs.c 文件大小:8.73 kb 创建日期:2020/2/29 13:11:54
  3. cvs.c 文件大小:8.73 kb 修改日期:2020/3/19 18:39:53
  4. cvs.c 文件大小:8.73 kb 访问日期:2020/2/29 13:11:54
  5. mem.c 文件大小:2.43 kb 创建日期:2020/2/27 8:18:22
  6. mem.c 文件大小:2.43 kb 修改日期:2020/3/18 14:10:36
  7. mem.c 文件大小:2.43 kb 访问日期:2020/2/27 8:18:22
  8. test.c 文件大小:2.96 kb 创建日期:2020/2/27 11:16:29
  9. test.c 文件大小:2.96 kb 修改日期:2020/3/27 21:3:32
  10. test.c 文件大小:2.96 kb 访问日期:2020/2/27 11:16:29
  11. test1.c 文件大小:0.66 kb 创建日期:2020/3/16 11:32:52
  12. test1.c 文件大小:0.66 kb 修改日期:2020/3/29 21:33:23
  13. test1.c 文件大小:0.66 kb 访问日期:2020/2/29 13:11:54
  14. test2.c 文件大小:1.62 kb 创建日期:2020/3/29 16:36:45
  15. test2.c 文件大小:1.62 kb 修改日期:2020/3/30 21:15:55
  16. test2.c 文件大小:1.62 kb 访问日期:2020/3/29 16:36:45
  17. 二分法.c 文件大小:0.82 kb 创建日期:2020/3/6 11:33:6
  18. 二分法.c 文件大小:0.82 kb 修改日期:2020/3/6 11:33:6
  19. 二分法.c 文件大小:0.82 kb 访问日期:2020/3/6 11:33:6
  20. --------------------------------
  21. Process exited after 0.01365 seconds with return value 0
  22. 请按任意键继续. . .
复制代码
[/code]




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2