2014-03-05 33 views
0

文件描述符的行爲與文件指針的行爲是否完全相同,只是它們的類型不同?那麼爲什麼我們需要他們兩個,結果呢,這麼多「重複」的功能,比如open和fopen,close和fclose?如果我們總是隻使用fd或fp,那麼會不會更簡單,然後我們就不會記住了?爲什麼我們需要文件描述符和文件指針

回答

1

文件描述符是一個打開的「文件」(我說「文件」的原始句柄,因爲很多事情不嚴格地說文件使用文件I/O支持,這是基本水平的設備 I/O支持)。

文件指針是描述符(即fd API提供的基本I/O頂層上的一層)的包裝,它使得使用API​​的API不僅僅是讀取,寫入,刷新,查詢並關閉設備。諸如緩衝之類的東西。基本上,指針指向一個內存上下文,其中可以存儲與打開文件的特定實例有關的其他有用內容。在OOP提供語言支持之前,將它想象爲確實是原始OOP。

併爲你的程序,你需要永遠的99.999%使用fd;我在全球3個不同的平臺上設計了C全程約10年,在那段時間裏我相信我可能會使用fd,可能有十幾次。

相關問題