#How to `rewind()` file?

1 messages · Page 1 of 1 (latest)

latent scroll
#

I am trying to parse a file and I need to read it two times. I have written similar code in C where I use rewind() function. Is there a similar Zig function?
Currently my reading routine is as follows:

const file = try std.fs.cwd().openFile(filename, .{});
defer file.close();

var buffered = std.io.bufferedReader(file.reader());
var reader = buffered.reader();

var buffer: [128]u8 = undefined;

var number_of_vertices: u32 = 0;
var number_of_faces: u32 = 0;

// `line` is, I suppose, a slice.
while (try reader.readUntilDelimiterOrEof(&buffer, '\n')) |line| {
    std.debug.print("{s}\n", .{line});

    switch (line[0]) {
        'v'  => number_of_vertices += 1,
        'f'  => number_of_faces += 1,
        else => {},
    }
}
// Now I want to read file again from the beginning...
naive sage
#

seekTo(0)

#

on the file