[Haskell-cafe] Regarding Haskell FFI for C/C++ (Passing of String)
rajendradprasad at gmail.com
Tue Mar 27 09:43:11 CEST 2012
Thanks Yves for the reply.
The link provided by you is very helpful.
Thank you very much.
On Thu, Mar 22, 2012 at 7:53 PM, Yves Parès <yves.pares at gmail.com> wrote:
> (Sorry for the double post)
> Forget about ByteString.Char8: it doesn't handle unicode as it truncates
> Going from String to bytestring is easy thanks to the utf8-string (
> package and pack function from Data.ByteString(.Lazy).
> And if you want to convert your String directly to a CString (a Ptr CChar)
> you better use Foreign.C.String.withCString.
> Le 22 mars 2012 15:17, Yves Parès <yves.pares at gmail.com> a écrit :
> This joins the question I asked two days ago here. (See
>> Hope that helps.
>> Le 22 mars 2012 15:10, rajendra prasad <rajendradprasad at gmail.com> a
>> écrit :
>>> I have just started learning Haskell FFI. I am trying to send a string
>>> from hastell to a C function. For this, I am required to convert the
>>> haskell string to byte string. I have two methods to achieve this task.
>>> Both are listed below:
>>> 1) import Foreign.C.String
>>> let arg1 = map castCharToCChar "Hello" :: [CChar]
>>> 2) import qualified Data.ByteString.Char8 as B
>>> f = B.pack "Hello"
>>> I just wanted to know the optimal way to achieve this task. Please
>>> suggest the optimal way of doing this. If there is any other way, please
>>> share it.
>>> Also, please suggest me any good tutorial to start with Haskell FFI for
>>> Thank you very much.
>>> Haskell-Cafe mailing list
>>> Haskell-Cafe at haskell.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe