fdopen()和fileno()函数
轉:http://book.2cto.com/201212/11763.html
?
文件描述字函數是流函數的初等函數,每一個流都與一個描述字相連。給定一個打開的文件描述字,可以用fdopen()函數為它創建一個流。反過來,已知一個流,也可以用fileno()函數得到它的文件描述字。
#include <stdio.h>
FILE *fdopen (int filedes, const char * opentype);
int fileno (file * stream);
fdopen()使描述字filedes與一個流相連。它的返回值是一個新的流,如果不能創建此流,則返回空指針。
參數opentype的取值與fopen()的opentype參數完全相同,但“w”和“w+”不導致文件截斷,因為截斷是文件打開時的動作,而在此情形下,文件已經被打開。注意,調用fdopen()時必須保證opentype參數與打開文件描述字時使用的opentype參數一致。
fdopen()建立的新流的文件位置與描述字filedes的文件位置相同,且流的錯誤指示器和文件結束指示器均被清除。fdopen()的實質是為已打開的文件描述字提供標準I/O緩沖。
fileno()函數返回與流stream相連的文件描述字。利用它可以確定流的底層文件描述字。例如,當調用dup()或fcntl()時就需要知道與流相連的文件描述字。
總結
以上是生活随笔為你收集整理的fdopen()和fileno()函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【剑指offer】找出数组中出现一次的两
- 下一篇: 计算机专业的一个四年工作的总结