当前位置: 首页 > news >正文

索引存储 c语言,C语言索引操作

C语言目录操作

1. 在Linux下要判断一个路径是否是目录,及遍历这个路径下的所有文件,可以使用以下方式:

主演使用的函数是:

int lstat(const char *, struct stat):取得一个路径的信息,可以从这个信息中得到是否及目录还是文件。其他属性参考man

S_ISDIR():判断是否是目录,传入参数是stat.st_mode

DIR * opendir(const char *):打开指定路径

struct dirent readdir(DIR *):打开指定目录的子路径,可以反复调用本函数来得到制定目录的所有子路径信息。当执行到最后一个目录或者文件的时候,将返回NULL

综上,遍历一个目录下的所有文件的代码如下所示:

#include

#include

#include

#include

#include

#include

int main(void)

{

struct stat fStat;

DIR *dir;

struct dirent *fileInfo = NULL;

if (-1 == lstat("test.txt", &fStat))

{

perror("");

return -1;

}

if (S_ISDIR(fStat.st_mode))

{

printf("INFO: The path is a directory!\n");

}

else

{

printf("INFO: The path is a file!\n");

return 1;

}

//If it is a dir, print the files' names in this directory.

dir = opendir("test.txt");

if (NULL == dir)

{

perror("");

return -1;

}

fileInfo = readdir(dir);

while (NULL != fileInfo)

{

printf("INFO: File name is %s!\n", fileInfo->d_name);

fileInfo = readdir(dir);

}

return 1;

}

相关文章:

  • c语言基础模板,C语言基础(一)
  • 职工管理单链表系统c 语言,C语言课程设计职工信息管理系统单链表实现程序源代码.doc...
  • c语言读取bmp 文件的数据结构,BMP格式文件的数据结构
  • c语言实训的总目的意义,C语言实训总结
  • qt建立c语言工程文件,创建第一个qtcreator项目并确定文件和目录的作用
  • linux sed举例,linux sed 常用用法举例01
  • android机制分析,Android消息机制分析
  • android ndk网络请求,Android NDK 开发之 HTTP 请求的问题及解决
  • 手机如何换鸿蒙os,手机知识:怎么换鸿蒙系统
  • 鸿蒙符助战选哪个,航海王燃烧意志最强助阵选择 助战哪个厉害[多图]
  • android7.0启动相册,Android7.0 使用系统相册打开指定图片
  • 鸿蒙2.0版操作系统,鸿蒙2.0操作系统
  • html怎么去掉下拉条,如何清除下拉列表中的边框:CSS
  • rmd文件怎么转换html文件,提取.Rmd文件的html依赖项(包含htmlwidgets)
  • html width 可以用百分比吗,CSS:Width如何以百分比形式工作?
  • 2017-08-04 前端日报
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • CSS 三角实现
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • JavaScript 奇技淫巧
  • JAVA并发编程--1.基础概念
  • jdbc就是这么简单
  • Linux链接文件
  • MySQL-事务管理(基础)
  • ViewService——一种保证客户端与服务端同步的方法
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 记一次用 NodeJs 实现模拟登录的思路
  • 力扣(LeetCode)56
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 使用agvtool更改app version/build
  • 小试R空间处理新库sf
  • 学习使用ExpressJS 4.0中的新Router
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • #QT(TCP网络编程-服务端)
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (C语言)逆序输出字符串
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (全注解开发)学习Spring-MVC的第三天
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (转)VC++中ondraw在什么时候调用的
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .NET Remoting学习笔记(三)信道
  • .Net Web窗口页属性
  • .net 简单实现MD5
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)
  • .NET/C# 的字符串暂存池