【linux系统编程】查找当前目录下所有的.lic文件

#include <stdio.h>
#include <dirent.h>
#include <string.h>

int main() {
    DIR *dir;
    struct dirent *entry;

    if ((dir = opendir(".")) == NULL) {
        perror("opendir");
        return 1;
    }

    while ((entry = readdir(dir)) != NULL) {
        if (strstr(entry->d_name, ".lic") != NULL) {
            printf("找到.lic文件: %s\n", entry->d_name);
        }
    }

    closedir(dir);
    return 0;
}

这段代码是用C语言编写的,用于在当前目录下查找所有以".lic"结尾的文件。如果找到了这样的文件,它会打印出文件名。

代码解析:
1. 引入头文件`stdio.h`、`dirent.h`和`string.h`。
2. 定义`main()`函数作为程序入口。
3. 声明一个指向`DIR`结构体的指针`dir`和一个指向`struct dirent`结构体的指针`entry`。
4. 使用`opendir(".")`函数打开当前目录,并将返回值赋给`dir`。如果打开失败,打印错误信息并返回1。
5. 使用`while`循环读取目录中的每个条目,直到读取完毕(即`readdir(dir)`返回NULL)。
6. 在循环内部,使用`strstr(entry->d_name, ".lic")`函数检查条目的名称是否包含".lic"。如果不为NULL,说明找到了一个以".lic"结尾的文件,打印文件名。
7. 循环结束后,使用`closedir(dir)`函数关闭目录。
8. 返回0表示程序正常结束。

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不会C语言的男孩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值