Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mencipta C fstream daripada Deskriptor Fail POSIX?

Bagaimanakah Saya Boleh Mencipta C fstream daripada Deskriptor Fail POSIX?

Mary-Kate Olsen
Lepaskan: 2024-12-25 16:42:09
asal
1054 orang telah melayarinya

How Can I Create a C   fstream from a POSIX File Descriptor?

Membina aliran C daripada Deskriptor Fail POSIX

Siasatan ini membentangkan tugas yang kelihatan mudah yang terbukti rumit: membina aliran C daripada deskriptor fail POSIX. Adakah penyelesaiannya terletak pada pendekatan yang lebih mudah atau adakah perpustakaan yang sesuai tersedia?

Kerumitan Isu

Menurut pakar, tiada mekanisme C standard untuk tugasan ini. Walau bagaimanapun, beberapa pelaksanaan pustaka standard, seperti libstdc , menawarkan sambungan bukan standard.

Penyelesaian Bukan Standard

Penyelesaian bukan standard berikut tersedia:

libstdc :

  • Menggunakan templat kelas __gnu_cxx::stdio_filebuf untuk mencipta penimbal strim fail daripada deskriptor fail.
  • Contoh:
__gnu_cxx::stdio_filebuf<char> filebuf(posix_handle, std::ios::in);
istream is(&amp;filebuf);
Salin selepas log masuk

Microsoft Visual C :

  • Menggunakan pembina ifstream bukan standard yang menerima parameter FILE*.
  • Contoh:
ifstream ifs(::_fdopen(posix_handle, "r"));
Salin selepas log masuk

Kesimpulan

Walaupun tiada kaedah C standard untuk tugasan ini, sambungan bukan standard yang disediakan oleh pelaksanaan tertentu menawarkan penyelesaian yang berdaya maju.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta C fstream daripada Deskriptor Fail POSIX?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan