c_cpp 列出文件修改时间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 列出文件修改时间相关的知识,希望对你有一定的参考价值。

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


int main()
{
    printf("Hello, World! Test\n");
    
    char cwd[1024];
    char fullpath[1024];
    struct stat attr;
    
    if (getcwd(cwd, sizeof(cwd)) != NULL){
       fprintf(stdout, "Current working dir: %s\n", cwd);
       DIR *dir;
       struct dirent *ent;
       time_t seconds;
       if ((dir = opendir (cwd)) != NULL) {
          fprintf(stdout, "Files in the dir:\n");
          /* print all the files and directories within directory */
          while ((ent = readdir (dir)) != NULL) {
             strcpy(fullpath,cwd);
             strcat(fullpath, "/");
             strcat(fullpath,ent->d_name);
             stat(fullpath, &attr);
             seconds = time(&attr.st_mtime);
             printf ("File: %s , modified: %ld \n", fullpath, seconds);
          }
          closedir (dir);
        } 
        else {
           /* could not open directory */
            perror ("");
            return 1;
        }
    }    
    else
       perror("getcwd() error");
       
    return 0;
}

以上是关于c_cpp 列出文件修改时间的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 给你一个文本文件太大,不适合内存和3个字符串A,B,C。对于每个字符串,你有一个列出位置o的排序数组

c_cpp 使用boost列出目录中的所有内容

c_cpp 使用boost列出目录中的所有内容

UNIX / BASH:列出特定月份修改的文件

git:列出一天(或一周/一个月......)添加/修改的所有文件

如何列出(ls)目录中最后修改的 5 个文件?