Linux下获取文件大小,检索目录函数

来源:互联网 发布:淘宝1.74非球面镜片 编辑:程序博客网 时间:2024/05/22 17:14

http://blog.csdn.net/codeheng/article/details/43766809

  1. #include <stdio.h>  
  2. #include <stdlib.h>  
  3. #include <sys/stat.h>  
  4. #include <sys/types.h>  
  5. #include <unistd.h>  
  6. #include <fcntl.h>  
  7. #include <dirent.h>  
  8. #include <string>  
  9. #include <iostream>  
  10.   
  11. #define PATH "/media/work/test"  
  12.   
  13. int main(int argc, char **argv)  
  14. {     
  15.     DIR *pDir = opendir(PATH);  
  16.     if (pDir == NULL)  
  17.     {  
  18.         perror("opendir failed.\n");  
  19.     }  
  20.     struct dirent *pDirent;  
  21.     std::string picture("test.cpp");  
  22.     std::string str;  
  23.     while((pDirent = readdir(pDir)) != NULL)  
  24.     {  
  25.         //printf("name: %s\n", pDirent->d_name);  
  26.         str = pDirent->d_name;  
  27.         if (str.find(picture) != str.npos)  
  28.         {  
  29.             std::cout<<"string name: "<<str<<std::endl;  
  30.             break;  
  31.         }            
  32.     }  
  33.     struct stat buf;  
  34.     if (stat(str.c_str(), &buf) == -1)  
  35.     {  
  36.         perror("stat failed.\n");  
  37.     }  
  38.     std::cout<< "size: "<<buf.st_size<<std::endl;  
  39.     std::cout<< "st_mtime: "<<ctime(&buf.st_mtime)<<std::endl;  
  40.       
  41.     return 0;  
  42. }