我需要在Windows上使用mingw与C ++ iostream关联的Windows FileHandle。这可能与Windows上与C ++ iostream关联的UNIX文件描述符相同。有谁知道如何找到它?感谢。
答案 0 :(得分:2)
你有没有看到我的答案:
How do I flush a stdlib output file on win32?
std::basic_filebuf<char> *file_buf = dynamic_cast<std::basic_filebuf<char> *>(f.rdbuf());
if (file_buf != 0) {
struct to_get_protected_member : public std::basic_filebuf<char> {
int fd() { return _M_file.fd(); }
};
printf("your fd is %d\n", static_cast<to_get_protected_member *>(file_buf)->fd());
}