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...