闲来无事。随便写写,实现简单的ls命令:

| 1 #include

| 2 #include

| 3 #include

| 4 #include

| 5

| 6 int main(int argc, char **argv)

| 7 {

| 8 DIR *pDir;

| 9 struct dirent *stDir;

| 10 int flag = 0;

| 11

| 12 if(argc > 2)

| 13 {

| 14 printf("Usage: ./ls or ./ls xxx\n");

| 15 exit(-1);

| 16 }

| 17 if(argc == 1)

| 18 {

| 19 flag = 1;

| 20 if((pDir = opendir(".")) == NULL)

| 21 {

| 22 printf("open dir error!\n");

| 23 exit(-1);

| 24 }

| 25 }

| 26

| 27 if(!flag)

| 28 {

| 29 if((pDir = opendir(argv[1])) == NULL)

| 30 {

| 31 printf("open dir error!\n");

| 32 exit(-1);

| 33 }

| 34 }

| 35

| 36 while((stDir = readdir(pDir)) != NULL)

| 37 {

| 38 if(strcmp(stDir->d_name, ".") == 0 || strcmp(stDir->d_name, "..") == 0)

| 39 continue;

| 40 printf("%s\n", stDir->d_name);

| 41 }

| 42

| 43 closedir(pDir);

| 44

| 45 return 0;

| 46 }

功能:

./ls     ——列出当前文件夹下文件

./ls xxx——列出指定文件夹下文件

忽略.与..两个文件夹。

linux 读取文件夹命令,Linux系统编程_1_文件夹读取(实现简单ls命令)相关推荐

  1. Linux系统编程之文件IO

    Linux系统编程之文件IO 文件IO第一天 一.标准IO基本概念 1.1c语言函数 (c库函数) 调用实现某一个功能,(API) 1.2系统调用:内核中的程序接口,应用程序和硬件设备之间的中间层 1 ...

  2. 【Linux】系统编程之文件(标准I/O库)

    目录 一.文件I/O与标准I/O的区别(open与fopen) 1.来源 2.移植性 3.适用范围 4.文件IO层次 5.缓冲 二.函数fopen.fwrite.fread.fseek.fclose ...

  3. 【Linux系统编程】文件描述符的复制dup()和dup2()

    00. 目录 文章目录 00. 目录 01. 文件描述符复制概述 02. 常用函数 2.1 dup函数 2.2 dup2函数 03. 案例实战 3.1 dup示例 3.2 dup2示例 04. 附录 ...

  4. linux系统编程之文件与I/O(六):fcntl 函数与文件锁

    2013-05-14 11:26 8290人阅读 评论(2) 收藏 举报  分类: linux系统编程(19)  版权声明:本文为博主原创文章,未经博主允许不得转载. 一.fcntl函数 功能:操纵文 ...

  5. 【苹果传文件】【苹果手机文件传输】windows系统 iPhone手机文件传输 win系统苹果手机【苹果传电影】【苹果传图片】【一眼就会】

    原文:[苹果传文件][手机文件传输]windows系统 iPhone手机文件传输 win系统苹果手机[苹果传电影][苹果传图片][一眼就会] 方法一: 方法二:

  6. linux文件读取程序,Linux系统编程:文件的读取写入

    一.read系统调用 一旦有了与一个打开文件描述相关连的文件描述符,只要该文件是用O_RDONLY或O_RDWR标志打开的,就可以用read()系统调用从该文件中读取字节 函数原型: ssize_t ...

  7. Linux系统编程(文件)———文件打开/创建、写入、读取

    文件编程 打开/创建文件 写入文件 读取文件 文件光标位置 打开/创建文件 函数原型 //头文件#include <sys/types.h>#include <sys/stat.h& ...

  8. 【Linux | 系统编程】Linux系统编程(文件、进程线程、进程间通信)

    文章目录 Linux系统编程 文件IO open/close函数 read/write函数 文件描述符 阻塞.非阻塞 fcntl函数 lseek函数 传入传出参数 文件系统 文件存储 文件操作 sta ...

  9. [Linux系统编程]_文件编程(一)

    嵌入式之路,贵在日常点滴 ---阿杰在线送代码 目录 一.系统调用 1.1 什么是系统调用 1.2 什么是库函数 1.3 将hello写入到文件1.txt流程 1.4 为什么要有缓冲区(补充) 1.5 ...

最新文章

  1. SpringMVC中数据库链接配置
  2. 2021-09-22
  3. 表的插入、更新、删除、合并操作_17_按照条件删除表中记录
  4. 微信小程序rpx作为高度单位时,在 ios 出现异常
  5. 【笔记】jquery判断两个日期之间相差多少天
  6. 家庭路由器设置以及win10链接无线不显示登录密码 直接提示链接出错问题解决...
  7. 阶段3 1.Mybatis_03.自定义Mybatis框架_7.自定义Mybatis的编码-实现基于注解配置的查询所有...
  8. linux系统svn安装教程,Linux下SVN安装配置
  9. leetcode 347
  10. python怎么取共轭_python实现共轭梯度法
  11. igraph入门教程
  12. 谢宁方法或谢宁DOE
  13. Excel表格密码保护解除
  14. CSS中#号、.号、*号详解
  15. 准入控制_Kubernetes动态准入控制示例
  16. uni-app图片选择转base64问题,H5与APP端相关实现
  17. 越过长城,走向世界!中国第一封 Email 发出 30 年
  18. 移动机器人——移动机器人的发展
  19. 遥控直升机陀螺仪设定
  20. 在SMT贴片加工设备具有哪些优势?

热门文章

  1. DC保存至BMP图像
  2. python pack属性_python tkinter基本属性详解
  3. 剑指offer(23)二叉搜索树的后序遍历序列
  4. android读写文本文件,Android读写文件
  5. r语言解析html,R语言爬虫入门-rvest教程
  6. python性能分析工具模块_python——关于Python Profilers性能分析器
  7. Android开发之刷新图片到相册 | 刷新视频到相册的方法区分发广播刷新方法
  8. Android开发之RecyclerView动态添加item长按删除item源码
  9. 深度思考的能力,决定了你能走多远
  10. 零基础学习 Python 之文件