C语言下I/O精讲

1.标准I/O

       标准I/O是由ANSI C标准定义的。在现在主流的操作系统(像Windows、Linux等)中,大都实现了C库,可以直接调用C库中的标准I/O函数。标准I/O通过缓冲机制来减少系统的调用,实现了更高的效率。像51单片机,直接通过程序控制硬件,这样叫做裸机开发,这样的开发不能对硬件起到保护作用,恶意程序可以轻易对硬件资源进行破坏。因此为了对硬件资源起到保护作用,在应用程序和硬件资源之间便引入了操作系统。用户的应用程序不再允许直接操作硬件,若要对硬件资源进行访问,则需要调用操作系统为用户预留出来的接口,这样的方法叫做系统调用。当程序需要频繁的进行系统调用时,很明显会降低程序的运行效率。为了弥补这个缺陷,在标准I/O中引入了缓冲机制。当引入缓冲机制后,用户程序对文件的读写首先在缓冲区中进行,只有缓冲区为空/满时,才会对文件进行读/写操作。

1.1标准I/O的缓冲机制:

        标准I/O的缓冲机制包括全缓冲、行缓冲和无缓冲。全缓冲是指只有在缓冲区满的时候,才会进行I/O操作,只有缓冲区满的时候,才会向文件中写入数据,只有当缓冲区空的时候,才会从文件中读数据到缓冲区。当用户创建一个I/O流的时候,默认使用的是全缓冲机制。行缓冲机制指的是用户对文件进行读写操作的时候,当遇到'\n'的时候,才会进行实际的I/O操作。行缓冲的典型应用是当流与一个终端相联的时候,从标准输入读取数据或打印数据到标准输出就是典型的行缓冲。无缓冲机制就是数据不经过缓冲区,数据直接写入文件,流不进行缓冲。无缓冲的典型应用就是输出错误信息。

1.2标准I/O预定义了三个流

         标准I/O预定义了三个流,分别是标准输入流、标准输出流和标准错误流。

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值