diff options
author | Chris Boesch <chrboesch@noreply.codeberg.org> | 2023-02-16 18:33:06 +0100 |
---|---|---|
committer | Chris Boesch <chrboesch@noreply.codeberg.org> | 2023-02-16 18:33:06 +0100 |
commit | bb956254774ed022f29c70e98f7ca95c28f2c86f (patch) | |
tree | 644145ad4bf822bbf2c85bdf78d9552bae52eb80 /exercises/093_hello_c.zig | |
parent | dce731a0ece693a06615e8f8f1ac7ee0db911360 (diff) |
try 'write' that works on mac, but I didn't know if it works on windows
Diffstat (limited to 'exercises/093_hello_c.zig')
-rw-r--r-- | exercises/093_hello_c.zig | 20 |
1 files changed, 5 insertions, 15 deletions
diff --git a/exercises/093_hello_c.zig b/exercises/093_hello_c.zig index d234165..1877e04 100644 --- a/exercises/093_hello_c.zig +++ b/exercises/093_hello_c.zig @@ -42,29 +42,19 @@ const std = @import("std"); // new the import for C const c = @cImport({ - - // we use "standard input/output" from C - @cInclude("stdio.h"); + @cInclude("unistd.h"); }); pub fn main() void { - // Due to a current limitation in the Zig compiler, - // we need a small workaround to make this exercise - // work on mac-os. - const builtin = @import("builtin"); - const stderr = switch (builtin.target.os.tag) { - .macos => 1, - else => c.stderr, - }; - // In order to output a text that can be evaluated by the // Zig Builder, we need to write it to the Error output. // In Zig we do this with "std.debug.print" and in C we can - // specify the file to write to, i.e. "standard error (stderr)". + // specify the file descriptor i.e. 2 for error console. // - // Ups, something is wrong... - const c_res = fprintf(stderr, "Hello C from Zig!"); + // In this case we use 'write' to output 17 chars, + // but something is missing... + const c_res = write(2, "Hello C from Zig!", 17); // let's see what the result from C is: std.debug.print(" - C result ist {d} chars\n", .{c_res}); |