Linux的系统调用open,write,read,close,及相关总结

本文介绍了Linux系统调用中的open、write、read和close,详细阐述了它们的参数、功能及文件描述符(fd)的概念。文件描述符在系统调用中起着关键作用,其分配原则是使用未被占用的最小下标。通过对比FILE和fd的区别,解释了printf、fwrite和write在输出重定向时的不同行为,涉及到C库缓冲区的类型和影响。最后提到了输出重定向的三种方式:>、<和>>。
摘要由CSDN通过智能技术生成

在进行C语言学习的时候我们了解到了C语言相关的一些IO操作,如fopen,fwrite,fread,fprintf,fclose等相关函数,他们都是由C库函数提供的一些函数,是将操作系统的系统调用加以封装,虽说Linux是由C语言实现的,但为了使我们更加的了解Linux,就需要了解更接近与底层的一些IO操作,因此就需要来了解下基本的系统调用—open,write,read,close

首先我们来了解下open,write,read,close的系统调用

open

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

open有三个参数
pathname:要打开或创建的目标文件名
flags:对文件进行多种操作也就有有多个参数,这多个参数可以进行或运算,即就是flags
参数:

  1. O_RDONLY:只读打开
  2. O_WRONLY:只写打开
  3. O_RDWR:读,写打开
  4. O_CREAT:若文件不存在,创建文件
  5. O_APPEND:追加写

参数1,2,3,必须制定一个且只能制定一个,使用参数4,必须使用open的第三个参数mode:新文件的访问权限

返回值:成功:新打开文件的文件描述符(fd)
失败:-1

write

#include <unistd.h>

ssize_t write(int fd, const void *buf, size_t count);

fd:文件描述符
b

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值