Как получить FileHandle для C ++ iostream?

Мне нужен файл Windows FileHandle, связанный с iostream C ++ с использованием mingw в Windows. Вероятно, это то же самое, что и дескриптор файла UNIX, связанный с iOS-файлом C ++ в Windows. Кто-нибудь знает, как его найти? Благодарю.

0
Я требую, чтобы я мог очистить файл диска, связанный с iostream.
добавлено автор vy32, источник
Для чего вам это нужно? В зависимости от фактической цели может быть переносимый/стандартный ответ
добавлено автор sehe, источник
Нет стандартного способа сделать это по той простой причине, что iostream не может быть реализован с точки зрения файловых дескрипторов вообще. Если вы вникнете в детали реализации вашей библиотеки, вы найдете ручную streamimpl и с некоторым уродливым литьем, вы сможете найти ссылку на это в своем объекте iostream и вытащить дескриптор.
добавлено автор antlersoft, источник

1 ответы

Did you see my answer, here:
How do I flush a stdlib output file on win32?

std::basic_filebuf *file_buf = dynamic_cast *>(f.rdbuf());
if (file_buf != 0) {
    struct to_get_protected_member : public std::basic_filebuf {
        int fd() { return _M_file.fd(); }
    };
    printf("your fd is %d\n", static_cast(file_buf)->fd());
}
2
добавлено
Я сделал. Теперь вы получаете два очка!
добавлено автор vy32, источник
pro.cxx
pro.cxx
3 049 участник(ов)

C/C++ chat 0. Простые вопросы, лабы и о IDE — в чат новичков @supapro 1. Не хамим, не переходим на личности, не вбрасываем утверждения без доказательств 2. No Ads, offtop, flood Объявления о вакансиях и евенты - в лс @AlexFails https://t.me/ProCxx/259155

supapro.cxx
supapro.cxx
1 925 участник(ов)

Чат для тех, кто немного знает C++, простые вопросы по реализации, синтаксису и ide – сюда, а для другого есть: /Главный чат по серьезным вопросам — @ProCxx /Чат по обсуждению всего — @fludpac

C++ Russia
C++ Russia
384 участник(ов)

Сообщество разработчиков C++ в Telegram.

cxx.Дискуссионная
cxx.Дискуссионная
298 участник(ов)

это не двач, общайтесь вежливо; разговор на почти любые темы; Не согласны с баном? В лс @AlexFails, @ivario

C++ для маленьких и тупых
C++ для маленьких и тупых
105 участник(ов)

Лоу левел (по среднему IQ участников) чатик ExtremeCode @extremecode Флудилка @extremecode_rest