文件编程(系统调用)听课笔记

两种方式:
1.系统调用
2.C函数库

系统调用
1.创建

int creat(const char *filename, mode_t mode)


creat(hello, 0775)

2.打开

int open(const char *pathname, int flag)
int open(const char *pathname, int flag, mode_t mode)

flag:
O_RDONLY 只读方式打开
O_WRONLY 只写方式打开
O_RDWR 读写方式打开
O_APPEND 追加方式打开
O_CREAT 创建一个文件-->flag为O_CREAT时第三个参数有效
O_NOBLOCK非阻塞方式打开

int fd=open(filename, O_CREAT||O_RDWR, 0775);

3.关闭

int close(int fd)

4.读
从fd所指定的文件中读取length个字节到buf所指向的缓冲区
返回实际读取的字节数

int read(int fd, const void *buff, size_t length)

5.写
把buf中的length个字节写入fd所指向的文件
返回实际写入的字节数

int write(int fd, const void *buff, size_t length)

6.定位
将文件指针相对whence移动offset个字节
返回文件指针相对于文件头的位置

int lseek(int fd, offset_t offset, int whence)

whence的值:
SEEK_SET 相对文件爱你开头
SEEK_CUR 相对当前位置
SEEK_END 相对文件末尾

lseek(fd, -5, SEEK_CUR)

7.访问权限判断

int access(cont char *pathname, int mode)

mode
R_OK 可读
W_OK 可写
X_OK 可执行
F_OK 文件存在

成功返回0,失败返回-1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值