获取当前目录
在shell中通过命令 pwd
显示当前工作目录,才C中通过调用getcwd
函数获取
char *getcwd(char *buf,size_t size);
getcwd函数把当前目录存入buf中,如果目录名超出了参数size,函数返回NULL,如果成功返回buf
切换工作目录
函数声明
int chdir(const char *path);
在shell中通过cd命令切换目录,返回值0表示成功,其他为失败
目录的创建和删除
在shell中天通过mkdir/rmdir来创建、删除目录,c程序中用mkdir\rmdir函数来创建删除目录
int mkdir(const char *pathname, mode_t mode)
//mode 将open系统调用的O_CREAT选项中的有关定义设置
mkdir("/test/aaa",0755);
//删除
int rmdir(const char *pathname);
获取文件列表
在实际开发中,文件是存放在目录中的,在处理文件之前,必须先知道目录中有哪些文件
1.包含头文件
#include<dirent.h>
2.相关库函数
打开目录的函数
DIR *opendir(const char *pathname)
读取目录的函数readdir
struct dirent*readdir(DIR *dirp);
关闭目录的函数
int closed(DIR *dirp);
数据结构:目录指针DIR
struct dirent:头文件封装完成,关注文件名和文件类型即可
struct dirent
{
long d_ino; // inode number 索引节点号
off_t d_off; // offset to this dirent 在目录文件中的偏移
unsigned short d_reclen; // length of this d_name 文件名长
unsigned char d_type; // the type of d_name 文件类型
char d_name [NAME_MAX+1]; // file name文件名,最长255字符
};