<div dir="ltr">Hi Johannes,<div><br></div><div>The following might give you some ideas:</div><div><br></div><div><div>module Main where</div><div><br></div><div>import Control.Monad</div><div>import Foreign</div><div>import Foreign.ForeignPtr</div><div>import Foreign.C.String</div><div>import Foreign.C.Types</div><div><br></div><div>#include <stdio.h></div><div><br></div><div>{#pointer *FILE as File foreign finalizer fclose newtype#}</div><div><br></div><div>{#fun fopen as ^ {`String', `String'} -> `File'#}</div><div>{#fun fgetc as ^ {`File'} -> `Int'#}</div><div><br></div><div>main :: IO ()</div><div>main = do</div><div>  fp <- fopen "tst.dat" "r"</div><div>  c <- fgetc fp</div><div>  print c</div></div><div><br></div><div>(The "foreign finalizer" thing requires a recent C2HS.)</div><div><br></div><div>Cheers,</div><div><br></div><div>Ian.</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 17 December 2014 at 09:19, Johannes Waldmann <span dir="ltr"><<a href="mailto:waldmann@imn.htwk-leipzig.de" target="_blank">waldmann@imn.htwk-leipzig.de</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi.<br>
<br>
I could use an example of how to handle files (FILE *) with c2hs,<br>
but could not find any.<br>
<br>
I want to call some "void dump (..., FILE * f)" function.<br>
I want to use this for a handle that I obtained in Haskell land.<br>
<br>
Sure I can rewrite/add the C code so that it takes a filepath (string)<br>
and opens the file by itself, but should I?<br>
<br>
- J.W.<br>
<br>
<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Ian Ross   Tel: +43(0)6804451378   <a href="mailto:ian@skybluetrades.net" target="_blank">ian@skybluetrades.net</a>   <a href="http://www.skybluetrades.net" target="_blank">www.skybluetrades.net</a></div>
</div>