完整包含linux下文件和目录的各种操作和注意事项,是此类开发的必备手册!
动5个字节:
lseek(fd, -5, SEEK_CUR);
whence
参数whence可使用下述值:
SEEK_SET:相对文件开头
SEEK_CUR:相对文件读写指针的当前位置 SEEK_END:相对文件末尾 2.3.6.4 返回值
成功:返回文件指针相对于文件头的位置,即二者距离,单位为字节。
失败:返回-1, 错误由errno指示。错误信息可通过strerror(errno)进行查看。 2.3.6.5 注意事项 2.3.6.6 使用示例
获取整个文件的长度:
由于lseek函数的返回值为文件指针相对于文件头的位置,因此下列调用的返回值就是文件的长度:
lseek(fd, 0, SEEK_END);
2.3.7 access 2.3.7.1 函数原型
函数原型如下:
int access(const char *pathname, int mode);
2.3.7.2 功能介绍
用于检查调用进程是否可以对指定的文件执行某种操作。 2.3.7.3 参数介绍
pathname
表示要打开的文件名(包含路径名称,缺省是认为在当前路径下面)。 mode
表示需要测试的操作模式。mode可以是如下值的组合体: R_OK: 可读 W_OK: 可写 X_OK: 可执行 F_OK: 文件存在 2.3.7.4 返回值
成功:返回0。
失败:返回-1, 错误由errno指示。错误信息可通过strerror(errno)进行查看。
errno被设为以下的某个值 EINVAL: 模式值无效
EACCES: 文件或路径名中包含的目录不可访问 ELOOP : 解释路径名过程中存在太多的符号连接 ENAMETOOLONG:路径名太长
ENOENT: 路径名中的目录不存在或是无效的符号连接