mkdir()

#include <sys/stat.h>
#include <sys/types.h>
int mkdir(const char *pathname, mode_t mode);

opendir()、fdopendir()

//打开一个文件夹流,返回一个绑定了这个流的指针,成功返回一个指针,失败返回NULL设errno
#include <sys/types.h>
#include <dirent.h>
DIR *opendir(const char *name);
DIR *fdopendir(int fd);

readdir()

//返回一个代表了目录流里下一个目录入口的结构体指针
a) #include <dirent.h>
struct dirent *readdir(DIR *dirp);
struct dirent {
ino_t d_ino; /* inode number */
off_t d_off; /* not an offset; see NOTES */
unsigned short d_reclen; /* length of this record */
unsigned char d_type; /* type of file; not supported by all filesystem types */
char d_name[256]; /* filename */
};

telldir()

//返回当前的目录流的位置,失败返回-1设errno
#include <dirent.h>
long telldir(DIR *dirp);

seekdir()

设置下次读取目录的位置
#include <dirent.h>
void seekdir(DIR *dirp, long loc);

rewinddir()

//将目录流的位置指针重设到目录的开头
#include <sys/types.h>
#include <dirent.h>
void rewinddir(DIR *dirp);

dirfd()

//返回绑定了目录流的文件描述符
#include <sys/types.h>
#include <dirent.h>
int dirfd(DIR *dirp);

closedir()

关闭dirp绑定的目录流,成功返回0.失败返回-1设errno
a) #include <sys/types.h>
#include <dirent.h>
int closedir(DIR *dirp);

rmdir()

//删除指定路径的目录,这个目录必须是空的,成功返回0.失败返回-1
#include <unistd.h>
int rmdir(const char *pathname);
/*--------------------------------------------------------------------------------------------
hw.c编程实现打印指定目录中的内容, 要求子目录中的内容也要打印出来
--------------------------------------------------------------------------------------------*/
#include<unistd.h>
#include<sys/types.h>
#include<dirent.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void print(char *path){
DIR *dir=opendir(path);
if(NULL==dir)
perror("opendir"),exit(-1);
printf("打开%s目录成功\n",path);
struct dirent* ent=NULL;
while(ent=readdir(dir)){
printf("type:%d,name:%s\n",ent->d_type,ent->d_name);
if(4==ent->d_type&&*ent->d_name!='.'){
char buf[200];
// char buf[]="./"; //ATTENTION: 当前工作目录里找"./Code"是不行的,得在"../../160510/Code"里面找
// strcat(buf,path); //
strcpy(buf,path);
strcat(buf,"/");
strcat(buf,ent->d_name);
print(buf);
}
}
int res=closedir(dir);
if(-1==res)
perror("closedir"),exit(-1);
}
int main(){
print("../../160510");
return 0;
}

Linux目录操作的更多相关文章

  1. 3、Linux目录操作

    1.目录操作概述 2.ls显示目录内容 命令名称:ls 命令英文原意:list 命令所在路径:/bin/ls 执行权限:所有用户 功能描述:显示目录文件 ls  -a    显示目录下的所有文件(包括 ...

  2. Linux 目录操作和4中文件拷贝效率测试

    /*1.用户输入任意目录名称,显示该目录下的文件列表信息,包括文件类型,文件权限,文件大小,文件名称2.拷贝用户输入的文件到当前目录下3.第二点功能,使用4种方式完成,并比较说明效率*/ /* str ...

  3. liunx学习(一):linux下目录操作大全

    Linux C函数之文件及目录函数(全):http://blog.sina.com.cn/s/blog_695e489c01013ldd.html linux目录操作发:http://www.cnbl ...

  4. linux目录及文件命令学习

    学习Linux 目录操作 1.pwd 可以看当前目录路径 2.cd change directory 改变目录,切换目录 cd / 进入跟目录 cd ..返回上级目录 cd 进入用户主目录 cd .. ...

  5. Matlab命令——目录操作(windows&Linux)

    Matlab命令——目录操作(windows&Linux) 1. filesep用于返回当前平台的目录分隔符,Windows是反斜杠(\),Linux是斜杠(/).有时此命令结合ispc命令使 ...

  6. Linux目录结构以及文件操作

    Linux目录结构 UNIX 是以目录为主的,Linux 也继承了这一优良特性. Linux 是以树形目录结构的形式来构建整个系统的,可以理解为树形目录是一个用户可操作系统的骨架.虽然本质上无论是目录 ...

  7. 每天一个linux命令(目录文件操作):【转载】Linux 目录结构

    对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统至关重要,下面 ...

  8. Vmware复制完好的linux目录后网卡操作

    目录 Vmware复制完好的linux目录后网卡操作 修改/etc/udev/rules.d/70-persistent-net.rules 修改网卡配置文件 重启查看 Vmware复制完好的linu ...

  9. Linux 文件/目录操作详解

    目录 Linux 文件/目录操作详解 初识Linux 一.文件/目录显示命令 ls 二.目录创建命令 mkdir 三.目录转移命令 cd 四.当前目录显示命令 pwd 五.文件处理命令 rmdir 六 ...

随机推荐

  1. 初识React Native,踩坑之旅....

    开启Genymotion Android模拟器后 1.运行“react-native run-android”报端口冲突....解决方法: 2.运行“react-native run-android” ...

  2. 删除 QQ 最新版右键菜单 通过QQ发送文件到手机

    64位:打开命令行执行: regsvr32 /u "C:\Program Files (x86)\Tencent\QQ\Bin\QQShellExt64.dll" 32位:打开命令 ...

  3. 以【猫叫、老鼠跑、主人醒】为例子,使用 javascript 来实现 观察者模式 (有在线演示)

    “猫叫.老鼠跑.主人醒”是一个很古老的话题了,大家也都有各自的想法和解决方案.我也是看了很多,一开始的时候是相当的迷糊,这个怎么就是面试题了?考的是啥呀,和编程有关系吗?又是猫又是老鼠的,晕死了.后来 ...

  4. go语言 类型:复数类型

  5. JavaScript学习笔记-面向对象的模块化编程

    面向对象的模块化编程 模块是一个独立的JS文件,模块文件可以包含一个类定义.一组相关的类.一个实用函数库.一些待执行的代码 模块化的目标:支持大规模的程序开发,处理分散源代码的组装,并能让代码正确执行 ...

  6. JavaScript中的普通函数与构造函数比较

    问题 什么是构造函数?构造函数与普通函数区别是什么?用new关键字的时候到底做了什么?构造函数有返回值怎么办?构造函数能当普通函数调用吗? thisthis永远指向当前正在被执行的函数或方法的owne ...

  7. SQLServer ForXmlPath应用

    SQLServer ForXmlPath应用 一:ForXmlPath介绍 forXmlPath    是SQL中的forXml语法的一部分,本文主要讲Path模式 ---SQL中FOR XML子句的 ...

  8. SharePoint 2013 直接给AD 组赋权限后,AD组里的用户还是登陆不了SharePoint,提示没有权限

    直接给一个all person的AD组赋了个read权限,然后将一个名为“all beijing”的组加到all person组里,但是all beijing组里的人却不能登录sharepoint,提 ...

  9. AndroidInject项目使用动态代理增加对网络请求的支持

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/3540427.html AndroidInject项目是我写的一 ...

  10. iOS runtime的理解和应用

    项目中经常会有一些的功能模块用到runtime,最近也在学习它.对于要不要阅读runtime的源码,我觉得仅仅是处理正常的开发,那真的没有必要,只要把常用的一些函数看下和原理理解下就可以了. 但是如果 ...