On Sun, 18 Jul 2004 19:35:36 GMT, Mathieu Malaterre <malat@free.fr> wrote:
[color=blue]
> Hi,
>
> I am tryig to convert part of a c++ IO library. Right now I am removing
> all 'FILE*' and replace them with ifstream.
>
> But I have a problem, after seeking through a stream I have to call the
> ijg (jpeg library). Since this is a C library it uses FILE*. My question
> is then is there a compatibility layer for ifstream <-> FILE* ?
> It should work on non-GNU compiler.
>
> Thanks,
> Mathieu
> Ps: All I found was:
>
http://gcc.gnu.org/onlinedocs/libstd...__filebuf.html[/color]
There is no standard way to convert ifstream to FILE*.
The only way to get the compatibility you want is to write your own stream
classes. These classes would extend the iostream library but also use a
FILE* internally which you can then make accessible.
Extending the iostream library is not too difficult and is a useful
technique to learn. You could find the technique explained in The
C++ Standard Library by Josuttis for instance.
john