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