下列三个函数打开一个标准IO流。
三个函数,如果成功返回文件指针,失败则返回NULL。
三个函数的区别是:
fopen打开一个指定的文件。
freopen在一直指定的流上打开一个指定的文件,如若该流已经打开,则先关闭该流。如果该流已经定向,则freopen清除该
定向。此函数一般用于将一个指定的文件打开为一个预定的流:标准输入,标准输出或标准出错。
fdopen获取一个现有的文件描述符,并使一个标准的IO流与该描述符相结合。此函数常用与由创建管道和网络通信函数返回
的描述符,因为这些特殊类型的文件不能用标准IO fopen函数打开,所以我们必须先调用设备专用函数获取一个文件描述符,
然后用fdopen使一个标准IO流与该描述符相关联。
type参数指定对IO流的读写方式,详细如下表:
(使用b,使得标准IO可以区分文本文件和二进制文件)
注意:对于fdopen,type的意义稍有不同,因为该描述符已经被打开,所以fdopen为写而打开并不截短该文件,另外也不能
创建该文件。
总结一下上表的内容: