On 12/26/20 4:13 PM, Rekel wrote:
I'm trying to read a file with entries seperated by '\n\n' (empty line),
with entries containing '\n'. I thought the
File.readLine(KeepTerminator, Terminator) might work, as it seems to
accept strings as terminators, since there seems to have been a thread
regarding '\r\n' seperators.
I don't know if there's some underlying reason, but when I try to use
"\n\n" as a terminator, I end up getting the entire file into 1 char[],
so it's not delimited.
Should this work or is there a reason one cannot use byLine like this?
For context, I'm trying this with the puzzle input of day 6 of this
year's advent of code. (https://adventofcode.com/)
byLine should work:
import std.stdio;
void main() {
auto f = File("deneme.d");
// Warning: byLine reuses an internal buffer. Call byLineCopy
// if potentially parsed strings into the line need to persist.
foreach (line; f.byLine) {
if (line.length == 0) {
writeln("EMPTY LINE");
} else {
writeln(line);
}
}
}
Ali