底层文件访问

当开始运行程序时,他一般会有已经打开的文件描述符:0--标准输入;1--标准输出;2--标准错误。
write系统调用:

#include<unistd.h>
size_t write(int fildes,const void * buf,size_t nbytes);

read系统调用:

#include <unistd.h>
size_t read(int fildes,void *buf,size_t nbytes);

open系统调用:

#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
int open(const char * path,int oflags);
int open(const char * path,int oflags,mode_t mode);

open建立了一条到文件或设备的访问路径(提供一个文件描述符供操作)。如果操作成功,返回一个文件描述符,read和write等系统调用就可以使用文件描述符就可以对打开的文件进行操作。这个文件描述符是唯一的,它不会与任何其他运行中的进程共享。如果两个程序同时打开同一个文件,会得到两个不同的文件描述符,它们之间没有关系,如果它们都对文件做写操作,那么会相互覆盖,各写各的。
close系统调用:

#include <unistd.h>
int close(int fildes);

注意,有时检查close调用的返回结果是十分重要的,有的文件系统,特别是网络文件系统,可能不会在关闭之前报告文件写操作中出现的错误,因为执行写操作时,数据可能未被确认写入。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值