Consider the following program:

import std.stdio;

void main(string[] args) {
    int a, b, c;
    while(true) {
        readf("%d,%d,%d", &a, &b, &c);
        writeln(a, b, c);
    }
}

If I enter "5,5,5" on the commandline, hit enter, then enter "5,5,5" a second time, hit enter again, the second time it crashes. Why? What am I getting wrong here?

The error I am getting is the following:
std.conv.ConvException@/usr/include/dmd/phobos/std/conv.d(2002): Unexpected '5' when converting from type LockingTextReader to type int
----------------
/usr/include/dmd/phobos/std/conv.d:58 int std.conv.parse!(int, std.stdio.LockingTextReader).parse(ref std.stdio.LockingTextReader) [0x440072] /usr/include/dmd/phobos/std/conv.d:2226 int std.conv.parse!(int, std.stdio.LockingTextReader).parse(ref std.stdio.LockingTextReader, uint) [0x43fd63] /usr/include/dmd/phobos/std/format.d:4383 int std.format.unformatValue!(int, std.stdio.LockingTextReader, char).unformatValue(ref std.stdio.LockingTextReader, ref std.format.FormatSpec!(char).FormatSpec) [0x43f529] /usr/include/dmd/phobos/std/format.d:631 uint std.format.formattedRead!(std.stdio.LockingTextReader, char, int*, int*, int*).formattedRead(ref std.stdio.LockingTextReader, const(char)[], int*, int*, int*) [0x43a452] /usr/include/dmd/phobos/std/stdio.d:1661 uint std.stdio.File.readf!(int*, int*, int*).readf(const(char[]), int*, int*, int*) [0x43a391] /usr/include/dmd/phobos/std/stdio.d:3331 uint std.stdio.readf!(int*, int*, int*).readf(const(char[]), int*, int*, int*) [0x43a2a7]
source/app.d:47 _Dmain [0x43a253]
??:? _D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZ9__lambda1MFZv [0x44852a] ??:? void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).tryExec(scope void delegate()) [0x448468] ??:? void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).runAll() [0x4484e6] ??:? void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).tryExec(scope void delegate()) [0x448468]
??:? _d_run_main [0x4483c5]
??:? main [0x4445f7]
??:? __libc_start_main [0xdddd2a3f]

Reply via email to