函数fileno 获得一个文件流指针中的文件描述符 int fileno(FILE *stream)
int fd = fileno(fp)
函数fdopen
FILE *fdopen(int fd,const char *mode)
mode权限与打开文件权限相同
对目录操作,遍历目录
(1)打开目录 opendir
(2)读取 readdir
(3)关闭 closedir
函数opendir
DIR *opendir(const char *name);
功能:打开一个目录获得一个目录流指针
参数:name:目录名
返回值:成功返回目录流指针,失败返回NULL
函数readdir
struct dirent *readdir(DIR *dirp);
功能:从目录流中读取文件信息并将保存信息的结构体地址返回
参数:dirp:目录流指针
返回值:包含文件信息的结构体,出错或者读到目录流末尾返回NULL
关闭目录
int closedir(DIR *dirp);
功能:关闭之前已经打开的目录流对象
参数:opendir的返回结果中目录流对象
返回值:成功 0,失败 -1;
判断文件的种类
函数chdir 切换路径
chdir ("/home/linux");
int chdir(const char *path);
参数: path:改变到的路径
返回值: 成功返回0, 失败返回-1
函数getcwd 获得当前工作路径
char *getcwd(char *buf, size_t size);
参数: buf:保存工作路径空间的首地址, size:保存路径空间的长度
返回值: 成功返回包含路径空间的字符串首地址 ,失败返回NULL
函数mkdir 创建目录
int mkdir(const char *pathname, mode_t mode);
参数:
pathname:路径
mode:权限,
对于目录权限x表示是否可进入进出
函数rmdir 删除目录(删除的目录必须为空)
int rmdir(const char *pathname);
参数: pathname:目录文件的名字
返回值: 成功返回0 ,失败返回-1
函数stat 文件属性的获取
int stat(const char *path, struct stat *buf);
参数: path: 文件或路径 ,buf: 属性存放空间的首地址
返回值: 成功返回0 ,失败返回-1
mode包含了权限和种类
用stat函数实现命令ll的功能