当前位置:   article > 正文

Linux的系统调用open,write,read,close,及相关总结_open write方式会影响源文件数据么

open write方式会影响源文件数据么

在进行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);
  • 1
  • 2
  • 3
  • 4
  • 5

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);
  • 1
  • 2
  • 3
  • 4

fd:文件描述符
buf:写入的缓冲区

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/256404
推荐阅读
相关标签
  

闽ICP备14008679号