從POSIX 檔案描述符建構C fstream
此查詢提供了一個看似簡單但事實證明很複雜的任務:構造C fstream來自POSIX 檔案描述符。解決方案是否在於更簡單的方法,或者是否有合適的程式庫可用?
問題的複雜性
根據專家的說法,沒有標準的 C 機制這個任務。但是,標準函式庫的某些實作(例如 libstdc )提供非標準擴充。
非標準解決方案
以下非標準解決方案可用:
libstdc :
__gnu_cxx::stdio_filebuf<char> filebuf(posix_handle, std::ios::in); istream is(&filebuf);
微軟Visual C :
ifstream ifs(::_fdopen(posix_handle, "r"));
結論
雖然沒有標準的C對於此任務的方法,特定實現提供的非標準擴充提供了可行的解決方案。以上是如何從 POSIX 檔案描述符建立 C fstream?的詳細內容。更多資訊請關注PHP中文網其他相關文章!