摘自:《文件描述符和文件指針的區別》 文件描述符就是open文件時產生的一個整數,直到一個索引作用,它用于UNIX系統中,用于標識文件。 文件指針是指向一個FILE的結構體,這個結構體里有一個元素就是文件描述符。它用于ANSI C標準的IO庫調用中,用于標識文件。 既然FILE中包含文件描述符元素,可以用fopen()直接獲取指針fp,然后使用fp獲得fp中所包含文件描述符fd的信息。 文件描述符應該是唯一的,但文件指針(值)卻不是唯一的,但指向的對象卻應該是唯一的。 FILE *中除了包含了fd信息,還包含了IO緩沖,所以可以理解為FILE是對fd的墻頭,是C標準形式,所以FILE *比fd更適合跨平臺,應該多用fopen在,少用open。 C語言文件指針與文件描述符之間可以相互轉換: int fileno(FILE *stream); FILE *fdopen(int fd, const char *mode);來看一下下圖的實現過程
分享題目:UC編程:輸入輸出重定向(系統調用)-創新互聯
本文來源:http://www.yijiale78.com/article28/jjecp.html
成都網站建設公司_創新互聯,為您提供搜索引擎優化、企業建站、定制開發、建站公司、靜態網站、網站收錄
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯