青少年叛逆
青少年叛逆
IT培训
广告招商

open与fopen的区别有哪些?老男孩Linux培训机构

  在学习Linux的时候,不少小伙伴应该都接触过open与fopen,因为只有一个字母之差,所以很多人经常会将它们混淆在一起,那么Linux中open与fopen区别是什么?具体请看下文。

  1、来源

  从来源的角度看,两者能很好的区分开,这也是最显而易见的区别:

  ①open是Unix系统调用函数,返回的是文件描述符,它是文件在文件描述符表里的索引;

  ②fopen是ANSIC标准中的C语言库函数,在不同的系统中应该调用不同的内核api。返回的是一个指向文件结构的指针。

  2、移植性

  这一点从上面的来源可以推断出来,fopen是C标准函数,因此拥有良好的移植性,而open是Unix系统调用,移植性有限。如Windows下相似的功能使用API函数CreateFile。

  3、适用范围

  ①open返回文件描述符,而文件描述符是Unix系统下的一个重要概念,Unix下的一切设备都是以文件的形式操作。如网络套接字、硬件设备等。当然包括操作普通正规文件。

  ②fopen是用来操纵普通正规文件。

  4、文件IO层次

  如果从文件IO的角度来看,前者属于低级IO函数,后者属于高级IO函数。低级和高级的简单区分标准是:谁离系统内核更近。低级文件IO运行在内核态,高级文件IO运行在用户态。

  为了让学员学以致用,老男孩教育不断更新Linux培训教学大纲,与一众讲师精心打造Linux云计算SRE课程体系。老男孩教育Linux云计算SRE运维课程,从零基础开始授课,适合零基础且对Linux感兴趣的学员学习。课程的主要目的就是培养出专业的Linux系统工程师,名师授课全程面授教学,边讲边练帮助学员高效掌握Linux技术。


注意:吐槽知乎网只是一个问答与文章免费发布平台,所有信息均有会员免费发布,不产生金钱交易,如果你有资金往来,请及时通过电话与对方联系,调查清楚,确认无误在选择,否则造成你的损失,由自己承担,本平台概不负责,谢谢!

0 个评论

要回复文章请先登录注册

狗粮批发
嘿,进入会员专区!