Convert Dart String to dartffi Pointer<Int8>

Issue

I used ffigen to generate bindings from a C header file.
One of the methods in C is open(const char *path), and ffigen generated a binding method open(ffi.Pointer<ffi.Int8> path).
If I want to have a dart method open(String path) that access this binding method how can I convert the String parameter to ffi.Pointer<ffi.Int8>?

Solution

Try

"Your message".toNativeUtf8().cast<Int8>()

Also see erjo’s comment in https://github.com/dart-lang/ffigen/issues/72

Answered By – tofutim

Answer Checked By – Candace Johnson (FlutterFixes Volunteer)

Leave a Reply

Your email address will not be published. Required fields are marked *