首页
学习
活动
专区
工具
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)
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

初学者必会的Linux命令 - 基本操作篇

写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。同时,博主也想通过此次尝试打造一个完善的技术图书馆,任何与文章技术点有关的异常、错误、注意事项均会在末尾列出,欢迎大家通过各种方式提供素材。 对于文章中出现的任何错误请大家批评指出,一定及时修改。 有任何想要讨论和学习的问题可联系我:

02

python - sys模块

sys.argv           命令行参数List,第一个元素是程序本身路径   sys.modules.keys() 返回所有已经导入的模块列表    sys.exc_info()     获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息   sys.exit(n)        退出程序,正常退出时exit(0)   sys.hexversion     获取Python解释程序的版本值,16进制格式如:0x020403F0   sys.version        获取Python解释程序的版本信息   sys.maxint         最大的Int值   sys.maxunicode     最大的Unicode值   sys.modules        返回系统导入的模块字段,key是模块名,value是模块   sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值   sys.platform       返回操作系统平台名称   sys.stdout         标准输出   sys.stdin          标准输入   sys.stderr         错误输出   sys.exc_clear()    用来清除当前线程所出现的当前的或最近的错误信息   sys.exec_prefix    返回平台独立的python文件安装的位置   sys.byteorder      本地字节规则的指示器,big-endian平台的值是'big',little-endian平台的值是'little'   sys.copyright      记录python版权相关的东西   sys.api_version    解释器的C的API版本   sys.version_info   >>> sys.version_info   (2, 4, 3, 'final', 0) 'final'表示最终,也有'candidate'表示候选,表示版本级别,是否有后继的发行   sys.displayhook(value)      如果value非空,这个函数会把他输出到sys.stdout,并且将他保存进__builtin__._.指在python的交互式解释器里,'_'代表上次你输入得到的结果,hook是钩子的意思,将上次的结果钩过来   sys.getdefaultencoding()    返回当前你所用的默认的字符编码格式   sys.getfilesystemencoding() 返回将Unicode文件名转换成系统文件名的编码的名字   sys.setdefaultencoding(name)用来设置当前默认的字符编码,如果name和任何一个可用的编码都不匹配,抛出LookupError,这个函数只会被site模块的sitecustomize使用,一旦别site模块使用了,他会从sys模块移除   sys.builtin_module_names    Python解释器导入的模块列表   sys.executable              Python解释程序路径   sys.getwindowsversion()     获取Windows的版本   sys.stdin.readline()        从标准输入读一行,sys.stdout.write("a") 屏幕输出a

02
领券