fopen open 文件操作

本文探讨了POSIX标准下通过unistd.h提供的open、read、write等函数与C标准下通过stdio.h提供的fopen、fread、fwrite等函数的区别。详细解析了两者的层级、缓冲机制、移植性及特殊函数如stat、fstat、fsync的使用场景,强调了文件句柄与文件流指针之间的转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

open read write ...这些是POSIX标准支持的,包含的头文件为unistd.h 支持POSIX标准的系统都支持,比如RTT、Linux等等,

fopen fread fwrite...这些是C标准 支持的,包含的头文件为 stdio.h 只要支持C语言的都支持包括RTT、Linux、WINDOWS  

 

open较低级,返回为一个文件句柄 int ,而fopen返回是指向文件结构的一个指针 FILE*。

open无缓冲, fopen()有缓冲,

 

带f的更通用一些,移植性更好一些。

很多函数它俩都类似,只是多了个f而已,但有一些有一些函数就不一样,我研究发现stat  fstat  fsync在unistd.h中有声明,

在stdio.h里没有与之相对应的操作,  ,但可以通过其它手段来实现(stat  fstat  fsync)的功能。

文件流指针可以通过fileno函数转换成文件句柄。

unistd.h 是 C 和 C++ 程序设计语言中提供对 POSIX 操作系统 API 的访问功能的头文件的名称

stdio.h是C语言,头文件,标准输入输出函数库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值