LINUX学习笔记9——文件访问
来源:岁月联盟
时间:2012-02-29
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