Heim >Backend-Entwicklung >C++ >Wie kann ich einen C-Fstream aus einem POSIX-Dateideskriptor erstellen?
Konstruieren eines C-Fstreams aus einem POSIX-Dateideskriptor
Diese Untersuchung stellt eine scheinbar einfache Aufgabe dar, die sich als komplex erweist: die Konstruktion eines C-Fstreams aus einem POSIX-Dateideskriptor. Liegt die Lösung in einem einfacheren Ansatz oder ist eine geeignete Bibliothek verfügbar?
Die Komplexität des Problems
Experten zufolge gibt es keinen Standard-C-Mechanismus dafür diese Aufgabe. Einige Implementierungen der Standardbibliothek, wie z. B. libstdc , bieten jedoch nicht standardmäßige Erweiterungen.
Nicht-Standard-Lösungen
Die folgenden Nicht-Standard-Lösungen sind verfügbar:
libstdc :
__gnu_cxx::stdio_filebuf<char> filebuf(posix_handle, std::ios::in); istream is(&filebuf);
Microsoft Visual C :
ifstream ifs(::_fdopen(posix_handle, "r"));
Fazit
Es gibt zwar keine Standard-C-Methode für diese Aufgabe, aber keine Standardmethode Erweiterungen, die durch spezifische Implementierungen bereitgestellt werden, bieten praktikable Lösungen.
Das obige ist der detaillierte Inhalt vonWie kann ich einen C-Fstream aus einem POSIX-Dateideskriptor erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!