How to assign and print char * from C

const std = @import("std");
const c = @cImport({
    @cInclude("person.h");
});

// const Person = extern struct {
//     age: c_int,
//     name: *const ?[*:0]u8,
// };

pub fn main() void {
    var person: c.person_t = undefined;
    person.age = 24;
    // person.name = @ptrCast(@alignCast("coredump"));
    person.name = @constCast("coredump");
    std.debug.print("name: {s}\nage: {d}\n", .{ person.name, person.age });
}

huge misunderstanding on how @cImport works

name: coredump
age: 24

Thank you everyone for listening to me talk to myself.

4 Likes