On Sunday, 16 June 2019 at 22:47:14 UTC, Samir wrote:
I am trying to read from a text file using the following code:
import std.stdio;
import std.string;
void main() {
File file = File("test.txt");
string line;
while (!file.eof()) {
line = strip(file.readln());
if (line[0] == '>') { // line 10
writeln(line[1..$]);
}
else {
writeln(line);
}
}
}
and I get the following error AFTER the last line is processed:
core.exception.RangeError@readfile.d(10): Range violation
----------------
??:? _d_arrayboundsp [0x448efa]
??:? _Dmain [0x4459f7]
Any idea what I am doing wrong? When processing the if
statement or writing the slice, am I inadvertently trying to
read a non-existent line in the file?
Thanks in advance
Samir
stripping the last line could result in an empty line if it just
has strippable characters?