linux学习笔记三
虚拟地址空间
C库函数和系统函数的关系
open
int open(const char *pathname,int flags)
文件存在
int open(const char *pathname,int flags,mode_t mode)
文件不存在
pathname:打开路径
flags :打开方式
mode_t:访问权限
必选项:
O_RDONLY
O_WRONLY
O_RDWR
可选项:
O_CREAT
open
发生错误会返回负
1
,同时设定
errno
的值。
Read和write
- read
ssize_t read(int fd,void *buf, size_t count)
fd:文件描述符
buf:数据缓冲区
count:buf大小
返回值
-1 读文件
0 文件读完了
大于0 读取的字节数
- write
ssize_t write(int fd,const void *buf,size_t count)
- lseek:移动文件指针,获取文件的长度
off_t lseek(int fd,off_t offset,int whence)
fd:文件描述符
offest:文件指针的迁移量
whence:SEEK_SET(开始位置)SEEK_CUR(当前位置)SEEK_END(结束位置)