嵌入式C进阶笔记 ---文件IO简述

之前学习过标准IO的基本概念,又接触文件IO。那么,什么是文件IO呢?


一、文件IO

  • posix(可移植操作系统接口)定义的一组函数
  • 不提供缓冲机制, 每次读写操作都引起系统调用
  • 核心概念是文件描述符
  • 访问各种类型文件
  • Linux, 标准IO基于文件IO实现


更直接一点的讲,文件IO是不经过缓存机制,直接操作文件描述符的一组IO操作

关于文件IO与标准IO的区分参考链接:https://blog.csdn.net/big_bit/article/details/51804391

文件IO:文件IO称之为不带缓存的IO(unbuffered I/O)。不带缓存指的是每个read,write都调用内核中的一个系统调用。也就是一般所说的低级I/O——操作系统提供的基本IO服务,与os绑定,特定于*nix平台。


什么是文件描述符?

每个打开的文件都对应一个文件描述符 ,文件IO的操作是通过文件描述符完成的。文件描述符从0开始分配, 依次递增
系统都预定义了三个文件描述符0、1和2,其中0是标准输入,1是标准输出,2是标准错误输出,它们在unistd.h中分别被定义为:STDIN_FILENOSTDOUT_FILENOSTDERR_FILENO



二、使用函数 函数名

open   打开文件
close   关闭已打开文件
read    从文件读
write   向文件写
lseek   定位文件

//////////////
关于目录文件函数
opendir   打开目录文件
readdir   读取目录文件内容
closedir  关闭目录文件

////////
stat/lstat/fstat  获取文件属性

函数详情可以通过`man`命令查询帮助手册

man open

猜你喜欢

转载自blog.csdn.net/feit2417/article/details/80868193
今日推荐