overview
不能读取目录的话, 也算是残废一个了吧?
目录读取, 读取的是文件名. 但是文件名有长有短, 为了支持所有的文件名, 我们使用 柔性数组
| typedef struct dirent
{
int idx;
size_t siz;
size_t len;
char name[];
} dir_t;
|
| ssize_t readdir (
int fd, // dir fd
void *buf, // dir_t *
size_t mx // buf siz
);
|
每一次都尽量的读取目录, 在缓冲区足够大的情况下.
我们在 read 内部支持读取目录
| if (file->flgs & O_DIRECTORY)
return readdir(fd, buf, cnt);
|
experiment