I don't believe you can. As a class, fstream has no reason to use a
FILE* internally, it can use whatever it wants. It should be trivial to
extract the open file name however, and then reopen the file using the c
library. Make suer you set your put and get pointers for the file to the
same place they are in the fstream.
No. To portably do this, you'll have to write your own file
stream buffer which is implemented in terms of 'FILE*' and
provides a means to get at the underlying 'FILE*'. It's not
trivial to do this, but it isn't all that hard either.
If non-portable is enough for you you can search for an std
lib implementation for your platform that does this. There
might be one.
Schobi