首页 > 代码库 > 标准文件IO详解(一)---文件IO操作和标准文件IO操作的区别

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

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

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