
(Sorry for the double post)
Forget about ByteString.Char8: it doesn't handle unicode as it truncates
characters.
Going from String to bytestring is easy thanks to the utf8-string (
http://hackage.haskell.org/packages/archive/utf8-string/0.3.7/doc/html/Codec...)
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
This joins the question I asked two days ago here. (See http://haskell.1045720.n5.nabble.com/Quickest-way-to-pass-Text-to-C-code-td5... ) Hope that helps.
Le 22 mars 2012 15:10, rajendra prasad
a écrit : Hi,
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 C/C++.
Thank you very much.
Regards, Rajendra
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe