首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在C中获取当前工作目录下文件的详细信息?

在C语言中,可以使用以下方法获取当前工作目录下文件的详细信息:

  1. 引入头文件:
代码语言:txt
复制
#include <stdio.h>
#include <dirent.h>
#include <sys/stat.h>
#include <unistd.h>
  1. 定义一个函数来获取文件的详细信息:
代码语言:txt
复制
void getFileDetails(const char* path) {
    DIR* directory = opendir(path);
    if (directory == NULL) {
        printf("无法打开目录\n");
        return;
    }

    struct dirent* entry;
    struct stat fileStat;

    while ((entry = readdir(directory)) != NULL) {
        char filePath[256];
        sprintf(filePath, "%s/%s", path, entry->d_name);

        if (stat(filePath, &fileStat) == -1) {
            printf("无法获取文件信息\n");
            continue;
        }

        printf("文件名:%s\n", entry->d_name);
        printf("文件大小:%ld bytes\n", fileStat.st_size);
        printf("文件权限:%o\n", fileStat.st_mode & 0777);
        printf("最后访问时间:%s", ctime(&fileStat.st_atime));
        printf("最后修改时间:%s", ctime(&fileStat.st_mtime));
        printf("\n");
    }

    closedir(directory);
}
  1. 在主函数中调用该函数:
代码语言:txt
复制
int main() {
    char currentPath[256];
    if (getcwd(currentPath, sizeof(currentPath)) == NULL) {
        printf("无法获取当前工作目录\n");
        return 1;
    }

    getFileDetails(currentPath);

    return 0;
}

以上代码会遍历当前工作目录下的所有文件,输出每个文件的名称、大小、权限、最后访问时间和最后修改时间。

腾讯云相关产品推荐:

  • 对象存储(COS):腾讯云对象存储(COS)是一种海量、安全、低成本、高可靠的云存储服务,适用于存储和处理任意类型的文件数据。详情请参考:腾讯云对象存储(COS)
  • 云服务器(CVM):腾讯云云服务器(CVM)是一种可弹性伸缩的云计算基础服务,提供安全可靠的计算能力。详情请参考:腾讯云云服务器(CVM)
  • 云数据库 MySQL 版(CMYSQL):腾讯云云数据库 MySQL 版(CMYSQL)是一种高度可扩展、高可用的关系型数据库服务,适用于各种规模的应用场景。详情请参考:腾讯云云数据库 MySQL 版(CMYSQL)
  • 人工智能平台(AI Lab):腾讯云人工智能平台(AI Lab)提供了丰富的人工智能开发工具和服务,包括图像识别、语音识别、自然语言处理等。详情请参考:腾讯云人工智能平台(AI Lab)
  • 物联网开发平台(IoT Explorer):腾讯云物联网开发平台(IoT Explorer)提供了全面的物联网解决方案,帮助开发者快速构建和管理物联网应用。详情请参考:腾讯云物联网开发平台(IoT Explorer)
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券