std.stdio.readln
- multiple declarations
- Function readln
- Function readln
Function readln
Read line from
.
stdin
This version manages its own read buffer, which means one memory allocation per call. If you are not
retaining a reference to the read data, consider the
version, which may offer
better performance as it can reuse its read buffer.
readln
(buf)
Prototype
S readln(S)( dchar terminator = '\x0a' ) if (isSomeString!S);
Returns
The line that was read, including the line terminator
character.
Parameters
Name | Description |
---|---|
S | Template parameter; the type of the allocated buffer, and the type returned. Defaults to string . |
terminator | Line terminator (by default, '\n' ). |
Note
String terminators are not supported due to ambiguity with readln
(buf) below.
Throws
on I/O error, or StdioException
UnicodeException
on Unicode conversion error.
Example
Reads
and writes it to stdin
.
stdout
import std.stdio; void main() { string line; while ((line = readln()) !is null) write(line); }
Function readln
Read line from
and stdin
write
it to buf
[], including terminating character.
This can be faster than line =
because you can reuse
the buffer for each call. Note that reusing the buffer means that you
must copy the previous contents if you wish to retain them.
readln
()
Prototypes
size_t readln(C)( C[] buf, dchar terminator = '\x0a' ) if (isSomeChar!C && is(Unqual!C == C) && !is(C == enum)); size_t readln(C, R)( C[] buf, R terminator ) if (isSomeChar!C && is(Unqual!C == C) && !is(C == enum) && isBidirectionalRange!R && is(typeof(terminator.front == (dchar).init)));
Returns
size_t
0 for end of file, otherwise number of characters read
Parameters
Name | Description |
---|---|
buf | Buffer used to store the resulting line data. buf is resized as necessary. |
terminator | Line terminator (by default, '\n' ). Use std.ascii.newline
for portability (unless the file was opened in text mode). |
Throws
on I/O error, or StdioException
UnicodeException
on Unicode conversion error.
Example
Reads
and writes it to stdin
.
stdout
import std.stdio; void main() { char[] buf; while (readln(buf)) write(buf); }
Authors
Walter Bright, Andrei Alexandrescu, Alex Rønne Petersen