cone
cone copied to clipboard
Using C from Cone: calling fopen()
trafficstars
Hello,
when trying to call fopen() from cone, the program exits with a segmentation fault.
This is tested on macOS, the code is:
import stdio::*
struct @opaque file
extern:
fn fopen(filename &[]u8, mode &[]u8) *file
fn main():
mut testFile = fopen("test", "w")
Is it possible to call fopen() from cone, and if yes, could you please give me a hint how to do it?
Thank you!
The biggest problem I see with your code is that you define fopen as accepting two array references (slices). fopen is written to expect pointers. An array reference is a "fat pointer", composed of a pointer plus a length.
It might work better to define with fn fopen(filename *u8, mode *u8).
Let me know if that helps. If not, I can look into it more when I have time (though I don't have a macintosh).