linux下目录的操作
2016-07-21 17:14
375 查看
使用系统函数:opendir、mkdir、readdir、mkdir对目录进行操作
头文件:
#include <sys/types.h>
#include <dirent.h>
1、打开目录 opendir
形式:
DIR * opendir(const char * name);
DIR * fopendir(int fd);
返回值:
文件夹不存在,返回NULL,存在返回DIR * dir;
2.读目录readdir
形式:struct dirent * dirp = readdir( dir );
struct dirent
{
long d_info; //索引节点号
off_t d_off; //在目录文件中的偏移
unsigned short d_reclen; //文件名长
char d_name[255]; //文件名
};
3.关闭目录closedir
closedir(DIR * dir);
4.创建目录mkdir
int fd = mkdir("dir_path", mod_t mod);
例:
创建名为my_dir的目录,权限为所有用户(组)均可读、写、操作
if(NULL != (dir = opendir("./my_dir")))
{
int fd = mkdir("./my_dir", 0755);
if(fd == -1)
{
perror("create my_dir failt\n");
}
}
实例:
#include <sys/types.h>
#include <dirent.h>
#include <stdio.h>
int main(void)
{
DIR * dp;
struct dirent *dirp;
dp = opendir("./");
if( dp == NULL)
{
perror("opendir\n");
return -1;
}
while(NULL != (dirp = readdir(dp)))
{
printf("filename = %s\n", dirp->d_name);
}
closedir(dp);
return 0;
}
头文件:
#include <sys/types.h>
#include <dirent.h>
1、打开目录 opendir
形式:
DIR * opendir(const char * name);
DIR * fopendir(int fd);
返回值:
文件夹不存在,返回NULL,存在返回DIR * dir;
2.读目录readdir
形式:struct dirent * dirp = readdir( dir );
struct dirent
{
long d_info; //索引节点号
off_t d_off; //在目录文件中的偏移
unsigned short d_reclen; //文件名长
char d_name[255]; //文件名
};
3.关闭目录closedir
closedir(DIR * dir);
4.创建目录mkdir
int fd = mkdir("dir_path", mod_t mod);
例:
创建名为my_dir的目录,权限为所有用户(组)均可读、写、操作
if(NULL != (dir = opendir("./my_dir")))
{
int fd = mkdir("./my_dir", 0755);
if(fd == -1)
{
perror("create my_dir failt\n");
}
}
实例:
#include <sys/types.h>
#include <dirent.h>
#include <stdio.h>
int main(void)
{
DIR * dp;
struct dirent *dirp;
dp = opendir("./");
if( dp == NULL)
{
perror("opendir\n");
return -1;
}
while(NULL != (dirp = readdir(dp)))
{
printf("filename = %s\n", dirp->d_name);
}
closedir(dp);
return 0;
}
相关文章推荐
- linux 用户和组管理
- 小记——linux定时器之alarm
- Centos6.5使用yum安装mysql——快速上手必备
- Linux常用命令大全
- jira的安装部署
- CentOS 6 时间,时区,设置修改及时间同步
- 关于disconf linux下报cannot get host info的问题
- linux下使用yum安装svn
- Log4j 日志文件Linux/Mac/Windows通用存放位置设置
- linux c下简单实现服务端与多客户端同时连接
- [置顶] Linux下WebLogic建域
- exynos4412开发板设备注册与驱动注册剖析
- centos 6.5 安装和配置 SonarQube
- Linux 查看软件进程
- LINUX使用常用命令
- Linux 中查看网口流量的利器 -- sar
- Linux系统修改编码(转)
- Volatility 为Centos6.6系统做profile方法
- Centos 安装Mongo DB
- CentOS 6.4 下安装vsftpd