off_t lseek(int fildes, off_t offset, int whence);
include: unistd.h, sys/types.h
result:失败返回-1,成功返回设置的位置
description:对文件描述符fildes的读写位置的进行设置。
parameter:
fildes:打开的文件句柄
offset:指定的偏移位置
whence:偏移方式
SEEK_SET: offset是一个绝对位置,从文件的开始位置偏移。
SEEK_CUR: offset是一个相对于当前位置的一个相对位置。
SEEK_END: offset是一个相对于文件尾的一个相对位置,如果你要读取距离文件尾20的信息,offset= -20;
int fstat (int fildes, struct stat *buf);
int stat (char *path, struct stat *buf);
int lstat (char *path , struct stat *buf);
include: unistd.h, sys/stat.h, sys/types.h
result: 执行成功则返回0,失败返回-1
description: 返回与文件相关的信信息。
parameter:
fildes: 打开的文件句柄
paht: 表示文件的路径,可以是相对路径、也可以是绝对路径
buf: 文件信息将返回此结构体中
buf结构体的主要成员:
st_mode: 文件的权限和文件类型信息
st_ino: 与该文件关联的inode
st_dev: 保存文件的设备
st_uid: 文件属主的UID号
st_gid: 文件属主的GID号
st_atime: 文件上一次访问的时间
st_ctime: 文件上一次被访问的时间
st_mtime: 文件的内容上一次被修改的时间
st_nlink: 该文件上硬连接的个数
mark:与之相关的宏定义
文件类型标志
S_IFBLK: 文件是一个特殊的块设备
S_IFDIR: 文件是一个目录
S_IFCHR: 文件是一个特殊的字符设备
S_IFIFO: 文件是一个FIFO
S_IFREG: 文件是一个普通文件
S_FLNK: 文件是一个符号链接
文件类型:
S_ISBLK: 测试是否是特殊的块设备文件
S_ISDIR: 测试是否是目录
S_ISCHR: 测试是否是特殊的字符设备
S_ISIFO: 测试是否是FIFO
S_ISREG: 测试是否是普通文件
S_FSNK: 测试是否是符号链接
访问权限
S_IFMT: 文件类型
S_IRWXU: 属主的读/写执行权限
S_IRWXG: 属组的读/写执行权限
S_IRWXO: 其他用户的读/写执行权限