标准文件IO详解---文件IO操作和标准文件IO操作的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了标准文件IO详解---文件IO操作和标准文件IO操作的区别相关的知识,希望对你有一定的参考价值。

    POSIX IO操作称为文件IO,也称为低级文件IO,是操作系统提供的系统调用,属于没有缓冲区的文件操作方式。执行该种操作后,内容会直接被写入到内核中的提供给磁盘的专门缓冲区中,内核会定期的刷新该缓冲区,将内容同步到磁盘当中。
 
    ANSI  C IO操作称为标准文件IO,也称为高级文件IO,是C库函数提供的,属于带有缓冲区的文件操作方式。执行该种操作后,内容首先会将内容写入到用户空间的缓冲区中,待缓冲区满或者需要刷新的时候再去调用文件IO,将内容写入到内核的磁盘缓冲区当中。
 
    相比于低级文件IO,高级文件IO有几个优点:
  • 移植性更好。
  • 效率更高。因为使用文件IO会涉及到由用户态到内核态的切换,切换过程必定要浪费一定的cpu时间,所以如果频繁的使用文件IO,会影响程序的效率,使用标准文件IO由于引入了缓冲区,减少了使用文件IO的次数,提高了效率。

以上是关于标准文件IO详解---文件IO操作和标准文件IO操作的区别的主要内容,如果未能解决你的问题,请参考以下文章

标准文件IO详解---定位流

标准文件IO详解---标准输入流标准输出流和标准错误流

标准文件IO详解---fileno函数详解

linux 标准I/O函数详解

标准文件IO详解---读和写流

文件IO详解---标准输入标准输出和标准错误