显示指定目录下的 .c 文件 Linux环境 C语言实现

server/2024/10/25 4:11:31/

问题:显示指定目录下的 .c 文件

算法:

        1. opendir ( ) 打开文件夹

        2. readdir ( ) 读取文件名

        3. 通过字符串比对找出 .c 文件并打印输出

        4. closedir ( ) 关闭文件夹

代码:

#include<stdio.h>
#include<sys/types.h>
#include<dirent.h>
#include<string.h>int main(int argc,char* argv[]){DIR *pd = NULL;struct dirent *pitem = NULL;char *p = NULL;int len = 0;if(argc < 2){printf("The argument is too few.\n");return 1;}pd = opendir(argv[1]); // 打开文件夹pitem = readdir(pd); // 读取while(pitem != NULL){if(pitem->d_type == DT_REG){ // 如果是常规文件len = strlen(pitem->d_name); // 获取文件名长度if(len >= 2){p = pitem->d_name + len - 1 - 1;// 定位到倒数第二个字符if(strcmp(p,".c") == 0) // 找出文件结尾是.c的文件printf("%s\n",pitem->d_name); // 打印输出}}pitem = readdir(pd);}closedir(pd);pd = NULL;return 0;
}

输出:

p.s. 省略 gcc 编译过程   , ./ 表示 当前文件夹


http://www.ppmy.cn/server/134601.html

相关文章

vue,java,webSocket通讯,服务端主动给多客户端发消息

vue在那个页面内&#xff1a; created() {// 可以在created钩子中初始化WebSocket连接this.initWebSocket();}, data: () > {return {webSocket: null, // WebSocket对象}, }, beforeDestroy() {// 组件销毁前关闭WebSocket连接if (this.webSocket) {this.webSocket.close(…

无人机组装、调试车间设计技术详解

无人机组装、调试车间的设计技术需要综合考虑多个方面&#xff0c;以确保生产过程的顺利进行和产品质量的可靠保障。以下是对无人机组装、调试车间设计技术的详细解析&#xff1a; 一、车间布局规划 1. 功能区域划分&#xff1a; 组装区&#xff1a;用于无人机的各个部件的组…

ESP32移植Openharmony设备开发---(6)Mutex互斥锁

Mutex互斥锁 官方文档&#xff1a;OpenAtom OpenHarmony 基本概念 互斥锁又称互斥型信号量&#xff0c;用于实现对共享资源的独占式处理。当有任务持有时&#xff0c;这个任务获得该互斥锁的所有权。当该任务释放它时&#xff0c;任务失去该互斥锁的所有权。当一个任务持有互…

大数据治理:Python实现与案例分析

目录 大数据治理&#xff1a;Python实现与案例分析引言1. 大数据治理的核心概念1.1 数据治理的关键要素1.2 大数据治理的挑战 2. 面向对象的Python大数据治理系统设计2.1 数据治理系统的类设计2.2 代码解释 3. 案例分析案例1&#xff1a;数据标准化案例2&#xff1a;数据质量管…

AI大模型开发架构设计(14)——基于LangChain大模型的案例架构实战

文章目录 基于LangChain大模型的案例架构实战1 LangChain 顶层架构设计以及关键技术剖析LangChain 是什么?LangChain的主要功能是什么&#xff1f;LangChain 顶层架构设计LangChain 典型使用场景&#xff1a;QA 问答系统LangChain 顶层架构设计之 Model I/OLangChain 顶层架构…

在 Spring 框架中,循环依赖是指两个或多个 Bean 之间相互依赖

在 Spring 框架中&#xff0c;循环依赖是指两个或多个 Bean 之间相互依赖&#xff0c;形成一个闭环。例如&#xff0c;Bean A 依赖于 Bean B&#xff0c;而 Bean B 又依赖于 Bean A。这种情况如果不加以处理&#xff0c;会导致 Bean 无法正确实例化&#xff0c;从而引发应用程序…

构建 effet.js 人脸识别交互系统的实战之路

构建 effet.js 人脸识别交互系统的实战之路 文章目录 构建 effet.js 人脸识别交互系统的实战之路前言一、什么是effet.js二、为什么需要使用effet.js四、effet.js能做什么五、使用步骤1.引入库2.main.js中注册全局2.使用3.效果图 六、其他模式讲解人脸打卡人脸添加睡眠检测 在h…

Python实现贪吃蛇大作战

初始版本 初始版本&#xff0c;只存在基本数据结构——双向队列。 游戏思路 贪吃蛇通过不断得吃食物来增长自身&#xff0c;如果贪吃蛇碰到边界或者自身则游戏失败。 食物是绿色矩形来模拟&#xff0c;坐标为随机数生成&#xff0c;定义一个蛇长变量&#xff0c;判断蛇头坐标和…