4:目录文件编程库
4.1: 读取工作目录
#include <unistd.h>
char *getcwd(char *buf, size_t size);
char *getwd(char *pathname);
getcwd获取当前工作目录的绝对路径存入buf失败返回NULL
getwd获取当前工作目录的绝对路径到pathname
4.2: 更改工作目录
#include <unistd.h>
int chdir(const char *path);
int fchdir(int fildes);
chdir将path设为工作目录,fchdir将fildes对应的目录设为工作目录
4.3: 创建和删除目录
#include <sys/stat.h>
int mkdir(const char *path, mode_t mode);
int rmdir(char *path);
调用成功时返回0.
4.4: 目录的读取
#include <dirent.h>
DIR *opendir(const char *dirname);
struct dirent *readdir(DIR *dirp);
int closedir(DIR *dirp);
opendir打开目录文件dirname,返回一个目录流
readdir读取当前目录类容到dirent中移动目录文件指向下一目录项
dirent中至少包含:
ino_t d_ino; 文件对应i节点编号
chard_name[]; 文件名称
4.5: 目录的定位
#include <dirent.h>
void seekdir(DIR *dirp, long int loc);
void rewinddir(DIR *dirp);
long int telldir(DIR *dirp);
telldir返回当前目录的访问位置,seekdir中loc为返回值之一
........................
long int l;
DIR *dirp;
l = telldir(dirp);
seekdir(dirp, l);
........................
rewinddir重置目录流到开始位置等价于seek(dirp, 0);
4.1: 读取工作目录
#include <unistd.h>
char *getcwd(char *buf, size_t size);
char *getwd(char *pathname);
getcwd获取当前工作目录的绝对路径存入buf失败返回NULL
getwd获取当前工作目录的绝对路径到pathname
4.2: 更改工作目录
#include <unistd.h>
int chdir(const char *path);
int fchdir(int fildes);
chdir将path设为工作目录,fchdir将fildes对应的目录设为工作目录
4.3: 创建和删除目录
#include <sys/stat.h>
int mkdir(const char *path, mode_t mode);
int rmdir(char *path);
调用成功时返回0.
4.4: 目录的读取
#include <dirent.h>
DIR *opendir(const char *dirname);
struct dirent *readdir(DIR *dirp);
int closedir(DIR *dirp);
opendir打开目录文件dirname,返回一个目录流
readdir读取当前目录类容到dirent中移动目录文件指向下一目录项
dirent中至少包含:
ino_t d_ino; 文件对应i节点编号
chard_name[]; 文件名称
4.5: 目录的定位
#include <dirent.h>
void seekdir(DIR *dirp, long int loc);
void rewinddir(DIR *dirp);
long int telldir(DIR *dirp);
telldir返回当前目录的访问位置,seekdir中loc为返回值之一
........................
long int l;
DIR *dirp;
l = telldir(dirp);
seekdir(dirp, l);
........................
rewinddir重置目录流到开始位置等价于seek(dirp, 0);