04目录
一、目录1、打开目录123DIR *opendir(const char *name);返回值 成功:目录指针 失败:NULL
2、遍历目录(读取目录项)123struct dirent *readdir(DIR *dirp);//读取目录获取目录项返回值 成功:目录项指针 失败:NULL
2.1目录结构体中的成员12345678struct dirent{ ino_t d_ino; // 文件索引号 off_t d_off; // 目录项偏移量 unsigned short d_reclen; // 该目录项大小 unsigned char d_type; // 文件类型 char d_name[256]; // 文件名};
3、关闭目录1int closedir(DIR *dirp);
二、路径操作1、获取当前路径123char buf[100] = {0}; getcwd(buf, 100);printf("%s\n", buf);
2、切换目录1chdir("../&q ...
03文件属性
一、获取文件属性123456789int stat(const char *path, struct stat *buf);int fstat(int fd, struct stat *buf);int Istat( const char *path, struct stat *buf);参数 path:文件路径 fd:文件描述符 buf:属性结构体返回值 成功:0 失败:NULL
1.1属性结构体的如下12345678910111213141516struct stat{ dev_tst_dev; //普通文件所在存储器的设备号 mode_tst_mode; //文件类型、文件权限 ino_t st_ino;l //文件索引号 nlink_tst_nlink; //l引用计数 uid_t st_uid; //文件所有者的UID gid_t st_gid; //文件所属组的GID dev_tst_rdev; //特殊文件的设备号 off_tst_size; //文件大小 blkcnt_t st_blocks; //文件所占数据块数目 time_t st_atime; ...
02标准IO
1、fopen 文件打开12345678910111213#include <stdio.h>FILE *fopen(const char *path, const char *mode);参数: const char *path:带路径文件名 const char *mode: "r":只读方式打开,文件必须存在 "r+":读写方式打开,文件必须存在 "w":只写方式打开,文件存在就清空文件内容,文件不存在可以创建 "w+":读写方式打开,文件存在就清空文件内容,文件不存在可以创建 "a":只写方式打开,文件存在那么文件访问位置为尾部,追加写入,文件不存在则创建 "a+":读写方式打开,文件存在那么文件访问位置为尾部,追加写入,文件不存在则创建返回值: 成功打开的文件结构体指针,失败返回NULL
2、fwrite 写文件12345678size_t f ...
01系统IO
一、文件分类
1,普通文件(regular):存在于外部存储器中,用于存储普通数据。【-】2,目录文件(directory):用于存放目录项,是文件系统管理的重要文件类型。【d】3,管道文件(pipe):一种用于进程间通信的特殊文件,也称为命名管道 FIFO。【p】4,套接字文件(socket):一种用于网络间通信的特殊文件。【s】5,链接文件(link):用于间接访问另外一个目标文件,相当于 Windows 快捷方式。【l】6,字符设备文件(character):字符设备在应用层的访问接口。【c】7,块设备文件(block):块设备在应用层的访问接口。【b】
二、系统IO函数1、open 打开文件1234567891011121314#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>int open(const char *pathname, int flags);int open(const char *pathname, int flags, mode_t mode);参 ...