Maison >développement back-end >C++ >Comment puis-je créer un fstream C à partir d'un descripteur de fichier POSIX ?
Construction d'un fstream C à partir d'un descripteur de fichier POSIX
Cette enquête présente une tâche apparemment simple qui s'avère complexe : construire un fstream C à partir d'un descripteur de fichier POSIX. La solution réside-t-elle dans une approche plus simple ou existe-t-il une bibliothèque adaptée disponible ?
La complexité du problème
Selon les experts, il n'existe pas de mécanisme C standard pour cette tâche. Cependant, certaines implémentations de la bibliothèque standard, comme libstdc , proposent des extensions non standard.
Solutions non standard
Les solutions non standard suivantes sont disponibles :
libstdc :
__gnu_cxx::stdio_filebuf<char> filebuf(posix_handle, std::ios::in); istream is(&filebuf);
Microsoft Visual C :
ifstream ifs(::_fdopen(posix_handle, "r"));
Conclusion
Bien qu'il n'existe pas de méthode C standard pour cette tâche, les extensions non standard fournis par des implémentations spécifiques offrent des solutions viables.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!