如何使用“FixedBufferStream”创建io?Zig 的作家?

How can I use "FixedBufferStream" to create an io.Writer in Zig?

提问人:richardIII 提问时间:10/7/2023 更新时间:10/7/2023 访问量:53

问:

我正在尝试从空缓冲区创建一个编写器,以便我可以为我的函数编写测试

fn writeHello(writer: std.io.Writer) !void {
    try writer.print("Hello, world!\n");
}

我使用了标准库中的以下代码:

var buffer: [128]u8 = undefined;
var fbs = io.fixedBufferStream(&buffer);
const stream = fbs.writer();

(与 和 )。const std = @import("std");const io = std.io;

但没有类型,所以我无法将其传递给我的函数。streamio.WriterwriteHello

打印 IO 缓冲 区之字

评论

0赞 Luatic 10/7/2023
为什么不制作并利用 Zig 的编译时鸭子类型呢?writer: anytype
3赞 sigod 10/7/2023
这回答了你的问题吗?如何在 Zig 中将流或写入器参数传递给函数?

答: 暂无答案