Linux 下I/O操作

一、文件IO

  文件 IO 是 Linux 系统提供的接口,针对文件和磁盘进行操作,不带缓存机制;标准IO是C 语言函数库里的标准 I/O 模型,在 stdio.h 中定义,通过缓冲区操作文件,带缓存机制。
  标准 IO 和文件 IO 常用 API 如下:
Linux 下I/O操作_第1张图片
  文件 IO 是直接调用内核提供的系统调用函数,头文件是 unistd.h,标准IO 是间接调用系统调用函数,头文件是 stdio.h,文件 IO 是依赖于 Linux 操作系统的,标准 IO 是不依赖操作系统的,所以在任何的操作系统下,使用标准 IO,也就是 C 库函数操作文件的方法都是相同的。

1.1、open()

Linux 下I/O操作_第2张图片
  参数 flags 可选标志:
  O_CREAT 要打开的文件名不存在时自动创建改文件。
  O_EXCL 要和 O_CREAT 一起使用才能生效,如果文件存在则 open()调用失败。
  O_RDONLY 只读模式打开文件。
  O_WRONLY 只写模式打开文件。
  O_RDWR 可读可写模式打开文件。
  O_APPEND 以追加模式打开文件。
  O_NONBLOCK 以非阻塞模式打开。

1.2、close()

在这里插入图片描述

1.3、read()

Linux 下I/O操作_第3张图片

1.4、write()

Linux 下I/O操作_第4张图片

1.5、lseek()

  所有打开的文件都有一个当前文件偏移量(current file offset),以下简称为cfo。cfo 通常是一个非负整数,用于表明文件开始处到文件当前位置的字节数。读写操作通常开始于cfo,并且使cfo 增大,增量为读写的字节数。文件被打开时,cfo 会被初始化为 0,除非使用了 O_APPEND 。使用lseek 函数可以改变文件的 cfo 。
Linux 下I/O操作_第5张图片

二、目录 IO

2.1、mkdir()

Linux 下I/O操作_第6张图片

2.2、opendir()/closedir()

Linux 下I/O操作_第7张图片

2.3、readdir()

在这里插入图片描述在这里插入图片描述

你可能感兴趣的:(linux开发笔记(迅为),linux)