I/O操作的对象就是文件

文件概念:一组相关数据的有序集合

文件类型:常规文件 r(编译好的程序、txt等);目录文件 d;字符设备文件 c ;块设备文件 b;管道文件 p(进程间通信);套接字文件 s (进程间通信);符号链接文件 l (link;快捷方式)

标准I/O :ANSI c标准定义;内部存有缓冲机制减少系统调用 

举例:

无缓冲区:  每次读取都需要调用 系统驱动区读写 磁盘(开销很大)

APP(发出请求读取10个字节的数据)-------------------系统(驱动调用)---------disk(磁盘数据读写)

有缓冲区: 每次读取会 先从缓冲区那里获取字节数;如果(无)才会调用系统驱动(减少了对磁盘重复读取的开销)

APP(读取10个字节的数据)-----------系统(开辟一个 eg:2k的空间)-------------驱动调用-------------磁盘读取

程序的运行方法有两种:

无OS(操作系统) 代码-------》硬件;代码裸接硬件(容易造成系统瘫痪)

有OS    app(n)--》os-----》硬件;操作系统是多任务的,通过系统给的api 访问硬件(安全并保护了硬件)

不同系统 ,调用接口不一致

   

标准I/O ----流

FILE :标准io用一个结构体类型

windows

文本流:换行符 ='\r''\n'                       二进制流:换行符 = '\n'

linux

换行符都为 '\n',都是二进制流

标准I/O- 流的缓冲类型

 全缓冲

   当流的缓冲区无数据或无空间时执行实际的I/O操作;eg:读取文件

行缓冲

   当在输入和输出中遇到换行符('\n')时,进行I/O操作。(eg:cout<<x<<endl)

无缓冲

   eg:打印错误信息

linux 从0 学习(一) 标准I/O

linux 从0 学习(一) 标准I/O

相关文章:

  • 2021-05-23
  • 2022-12-23
  • 2021-08-16
  • 2021-06-03
  • 2021-12-10
  • 2021-10-15
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-06-02
  • 2021-10-09
  • 2021-04-22
  • 2021-09-25
相关资源
相似解决方案