https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100376
Bug ID: 100376 Summary: __gnu_cxx::stdio_filebuf does not work correctly on windows Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: unlvsur at live dot com Target Milestone: --- fast_io::posix_file pf("a.txt",fast_io::open_mode::out); println(pf.fd); __gnu_cxx::stdio_filebuf<char> sb(pf.release(),std::ios::out);//pf.release() returns file descriptor and release it println(sb.fd());//this is wierd //output: 3 0 Same program running on Linux //output: 3 3 Same test for FILE* fast_io::c_file cf("a.txt",fast_io::open_mode::out); println(cf.fp); __gnu_cxx::stdio_filebuf<char> sb(cf.fp,std::ios::out); println(sb.file());//this is weird //output1: 0x00007ffc035dfa90 0x00000236101e0700 //output2: 0x00007ffc035dfa90 0x0000020ce4bb0700 Same program running on Linux 0x00000000017502a0 0x00000000017502a0