struct dirent 和DIR

1.存储目录中的文件信息(文件名、扩展名等等)

#include <dirent.h>

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 (null-terminated) 文件名,最长255字符 */

}

2.

struct __dirstream
   {
void *__fd; /* `struct hurd_fd‘ pointer for descriptor.   */
char *__data; /* Directory block.   */
int __entry_data; /* Entry number `__data‘ corresponds to.   */
char *__ptr; /* Current pointer into the block.   */
int __entry_ptr; /* Entry number `__ptr‘ corresponds to.   */
size_t __allocation; /* Space allocated for the block.   */
size_t __size; /* Total valid data in the block.   */
__libc_lock_define (, __lock) /* Mutex lock for this structure.   */
   };

typedef struct __dirstream DIR;

时间: 2024-10-11 09:54:53

struct dirent 和DIR的相关文章

struct dirent/DIR

#include <dirent.h> 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];//文件名,最长256字

Linux下struct dirent,DIR,struct stat使用例子

以下例子,读取遍历目录中的文件夹,文件,并输出一些属性值,具体的相关结构体定义,可以参考: http://www.liweifan.com/2012/05/13/linux-system-function-files-operation/ http://www.360doc.com/content/11/0110/16/4559801_85509847.shtml /* * linux struct dirent,DIR,struct stat * date: 2015-7-16 * autho

关于readdir返回值中struct dirent.d_type的取值问题

原网页链接 http://www.gnu.org/software/libc/manual/html_node/Directory-Entries.html 原文及翻译 混在一起写了 unsigned char d_type This is the type of the file, possibly unknown. The following constants are defined for its value: DT_UNKNOWN The type is unknown. Only s

Linux下DIR,dirent,stat等结构体详解

摘要: 最近在看Linux下文件操作相关章节,遇到了这么几个结构体,被搞的晕乎乎的,今日有空,仔细研究了一下,受益匪浅. DIR结构体类似于FILE,是一个内部结构,以下几个函数用这个内部结构保存当前正在被读取的目录的有关信息(摘自<UNIX环境高级编程(第二版)>).函数 DIR *opendir(const char *pathname),即打开文件目录,返回的就是指向DIR结构体的指针,而该指针由以下几个函数使用: 最近在看Linux下文件操作相关章节,遇到了这么几个结构体,被搞的晕乎乎

Linux--基础篇--DIR dirent stat

Linux下 DIR结构体定义为 1 struct __dirstream 2 { 3 void *__fd; 4 char *__data; 5 int __entry_data; 6 char *__ptr; 7 int __entry_ptr; 8 size_t __allocation; 9 size_t __size; 10 __libc_lock_define (, __lock) 11 }; 12 typedef struct __dirstream DIR; 该结构体保存目录相关

dirent.h

#include <dirent.h> 是POSIX.1标准定义的unix类目录操作的头文件,包含了许多UNIX系统服务的函数原型,例如opendir函数.readdir函数. opendir函数: DIR *opendir(const char *pathname);返回值:若成功则返回指针,若出错则返回NULL. struct dirent *readdir(DIR *dp); 返回值:若成功则返回指针,若在目录结尾或出错则返回NULL. =========================

头文件dirent.h

<dirent.h>是POSIX.1标准定义的unix类目录操作的头文件,包含了许多UNIX系统服务的函数原型,例如opendir函数.readdir函数. opendir函数: DIR *opendir(const char *pathname);返回值:若成功则返回指针,若出错则返回NULL. struct dirent *readdir(DIR *dp); 返回值:若成功则返回指针,若在目录结尾或出错则返回NULL. 命令 列出一个目录下所有文件的名字,简要实现unix下ls命令 #in

dirent.h文件

dirent.h头文件 1 /* 2 * Dirent interface for Microsoft Visual Studio 3 * 4 * Copyright (C) 1998-2019 Toni Ronkko 5 * This file is part of dirent. Dirent may be freely distributed 6 * under the MIT license. For all details and documentation, see 7 * http

unix 文件属性

在unix下提到文件属性,不得不提的一个结构就是stat,stat结构一般定义如下: struct stat { dev_t st_dev; /* ID of device containing file */ ino_t st_ino; /* inode number */ mode_t st_mode; /* protection */ nlink_t st_nlink; /* number of hard links */ uid_t st_uid; /* user ID of owner