[Haskell-cafe] Regarding Haskell FFI for C/C++ (Passing of String)
yves.pares at gmail.com
Thu Mar 22 15:23:17 CET 2012
(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