A specifier readf() for BigInt
Ivan Kazmenko via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Mon Feb 16 23:20:18 PST 2015
On Monday, 16 February 2015 at 19:52:20 UTC, Dennis Ritchie wrote:
> Hi.
> And how to read Data from the input stream?
>
> import std.stdio;
> import std.bigint;
>
> void main() {
>
> BigInt n;
>
> readf(" %?", &n);
>
> writeln(n);
> }
The readf function does not seem to support reading BigInts
directly.
However, you can read a string and construct a BigInt from it,
either by std.conv.to or directly invoking the constructor:
import std.algorithm, std.bigint, std.conv, std.stdio, std.string;
void main () {
// read a line of space-separated BigInts and print their sum:
readln.split.map !(to!BigInt).sum.writeln;
// read a line containing one BigInt and print it squared:
auto s = BigInt (readln.strip);
writeln (s ^^ 2);
}
More information about the Digitalmars-d-learn
mailing list