首页 > 其他分享 >c语言判断是文件还是文件夹,软链接,硬链接

c语言判断是文件还是文件夹,软链接,硬链接

时间:2024-02-05 10:46:30浏览次数:29  
标签:语言 else 文件夹 mode printf path fileInfo st 链接

摘自:文心一言

在C语言中,可以使用stat()函数来判断一个路径对应的是文件、文件夹或者其他类型。

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
 
int main() {
    char path[] = "/path/to/file_or_folder"; // 要判断的路径
    
    struct stat fileInfo;
    if (lstat(path, &fileInfo) == -1) {
        perror("Error");
        return 1;
    }
    
    if (S_ISREG(fileInfo.st_mode)) {
        printf("%s is a regular file.\n", path);
    } else if (S_ISDIR(fileInfo.st_mode)) {
        printf("%s is a directory.\n", path);
    } else if (S_ISLNK(fileInfo.st_mode)) {
        printf("%s is a symbolic link.\n", path);
    } else if (S_ISBLK(fileInfo.st_mode)) {
        printf("%s is a block device.\n", path);
    } else if (S_ISCHR(fileInfo.st_mode)) {
        printf("%s is a character device.\n", path);
    } else if (S_ISFIFO(fileInfo.st_mode)) {
        printf("%s is a FIFO pipe.\n", path);
    } else if (S_ISSOCK(fileInfo.st_mode)) {
        printf("%s is a socket.\n", path);
    } else {
        printf("%s has an unknown type.\n", path);
    }
    
    return 0;
}

 

标签:语言,else,文件夹,mode,printf,path,fileInfo,st,链接
From: https://www.cnblogs.com/LiuYanYGZ/p/18007527

相关文章

  • 安卓动态链接库文件体积优化探索实践
    背景介绍应用安装包的体积影响着用户下载量、安装时长、用户磁盘占用量等多个方面,据GooglePlay统计,应用体积每增加6MB,安装的转化率将下降1%。   安装包的体积受诸多方面影响,针对dex、资源文件、so文件都有不同的优化策略,在此不做一一展开,本文主要记录了在研发时针对动态......
  • 自然语言处理库之spaCy初探
    一、自然语言处理简介自然语言处理(NaturalLanguageProcessing,简称NLP)是一门研究人类语言与计算机之间交互的领域,旨在使计算机能够理解、解析、生成和处理人类语言。NLP结合了计算机科学、人工智能和语言学的知识,通过各种算法和技术来处理和分析文本数据。近年来,随着深度学习技......
  • Drvsetup.dll 是 Windows 操作系统中的一个动态链接库文件,用于设备驱动程序的安装和配
     Drvsetup.dll是Windows操作系统中的一个动态链接库文件,用于设备驱动程序的安装和配置过程中。该文件通常位于C:\Windows\System32文件夹下。Drvsetup.dll主要负责设备驱动程序的安装和配置过程中的一些核心功能,包括驱动程序的复制、注册、配置和卸载等。在设备驱动程序......
  • drvstore.dll 是 Windows 操作系统中的一个动态链接库文件
    drvstore.dll是Windows操作系统中的一个动态链接库文件,用于存储和管理设备驱动程序的信息。它通常位于系统目录(如C:\Windows\System32)下。drvstore.dll的主要作用是维护设备驱动程序的备份和安装信息,以便在需要时能够快速找到并加载正确的驱动程序。当用户连接新设备或更新设......
  • R语言中的Stan概率编程MCMC采样的贝叶斯模型|附代码数据
    原文链接:http://tecdat.cn/?p=11161最近我们被客户要求撰写关于贝叶斯模型的研究报告,包括一些图形和统计输出。概率编程使我们能够实现统计模型,而不必担心技术细节。这对于基于MCMC采样的贝叶斯模型特别有用R语言中RStan贝叶斯层次模型分析示例stan简介Stan是用于贝叶斯推理......
  • R语言LASSO特征选择、决策树CART算法和CHAID算法电商网站购物行为预测分析
    全文链接:http://tecdat.cn/?p=32275原文出处:拓端数据部落公众号本文通过分析电子商务平台的用户购物行为,帮助客户构建了一个基于决策树模型的用户购物行为预测分析模型。该模型可以帮助企业预测用户的购物意愿、购物频率及购买金额等重要指标,为企业制定更有针对性的营销策略提供......
  • R语言Kmeans聚类、PAM、DBSCAN、AGNES、FDP、PSO粒子群聚类分析iris数据结果可视化比
    全文链接:http://tecdat.cn/?p=32007原文出处:拓端数据部落公众号本文以iris数据和模拟数据为例,帮助客户了比较R语言Kmeans聚类算法、PAM聚类算法、DBSCAN聚类算法、AGNES聚类算法、FDP聚类算法、PSO粒子群聚类算法在iris数据结果可视化分析中的优缺点。结果:聚类算法的聚类结......
  • r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化|附代码数据
    原文链接:http://tecdat.cn/?p=23825最近我们被客户要求撰写关于有限正态混合模型EM算法的研究报告,包括一些图形和统计输出。简介本文介绍了基于有限正态混合模型在r软件中的实现,用于基于模型的聚类、分类和密度估计。提供了通过EM算法对具有各种协方差结构的正态混合模型进行参......
  • 探索C语言的数据类型:解密编程世界的核心秘密
    ✨✨欢迎大家来到贝蒂大讲堂✨✨......
  • 探索C语言的数据类型:解密编程世界的核心秘密
    ✨✨欢迎大家来到贝蒂大讲堂✨✨......