LINUX学习笔记9——文件访问
4046 点击·0 回帖
![]() | ![]() | |
![]() | a) 创建文件:Int creat(const char *filename, mode_t mode) 1. filename:要创建的文件名 2. #include<sys/types.h> #include<sys/stat.h> #include<fcntl.h> 3. mode:创建模式:只能控制创建用户的写属性,其余用户都是不可写,所以一般是755 a) S_IRUSR:可读 ->1 b) S_IWUSR:可写 ->2 c) S_IXUSR:可执行 ->4 d) S_IRWXU:可读写执行 ->7 4. 返回值:成功返回0,不成功返回-1 b) 文件描述: 1. 本质:一个非负整数 c) 文件打开: 1. Int open(const char *pathname, int flags, [mode]) 2. #include<sys/types.h> #include<sys/stat.h> #include<fcntl.h> 3. 常见的打开标志: a) O_RDONLY:只读 b) O_WRONLY:只写 c) O_RDWR:读写 d) O_APPEND:追加方式 e) O_CREAT:创建,当打开的文件不存在时创建一个,必须使用3个参数的open, f) O_NOBLOCK:非阻塞方式打开 d) 文件关闭:int close(int fd) e) 系统调用:读int read(int fd, const void *buf, size_t length) 1. 返回值:实际读入长度 f) 写:int write(int fd, const void *buf, size_t length) 1. 返回值:实际写入长度 g) 定位:int lseek(int fd, offset_t offset, int whence) 1. 说明:相对whence移动offset个字节 2. Whence取值 a) SEEK_SET:相对文件头 b) SEEK_CUR:相对当前位置 c) SEEK_END:相对文件末尾 3. 返回值:指针移动后偏离文件头的字节数 4. 计算文件长度:移动文件尾,偏移0的返回值 h) 判断:int access(const char*pathname, int mode) 1. 作用:判断文件是否可以进行某种操作 2. mode: a) R_OK:文件可读 b) W_OK:文件可写 c) X_OK:文件可执行 d) F_OK:文件存在 3. 返回值:成功时返回0,不符合时返回-1 | |
![]() | ![]() |