[your code here] HexViewer

Martin Tschierschke via Digitalmars-d digitalmars-d at puremagic.com
Thu Aug 3 01:47:12 PDT 2017


On Wednesday, 2 August 2017 at 22:02:49 UTC, Vladimir Panteleev 
wrote:
> On Wednesday, 2 August 2017 at 21:59:23 UTC, Vladimir Panteleev 
> wrote:
>> Good idea! But I think it needs more ranges:
>
> The format call can be substituted with writefln directly:
>
> void main(string[] args)
> {
>     import std.algorithm, std.format, std.stdio;
>     enum cols = 16;
>     args[1].File("rb").byChunk(16).each!(chunk =>
>         writefln!"%(%02X %)%*s  %s"(
>             chunk,
>             3 * (cols - chunk.length), "",
>             chunk.map!(c =>
>                 c < 0x20 || c > 0x7E ? '.' : char(c))));
> }

Very cool!
Now you can remove: std.format,
and I would substitute: byChunk(16) with byChunk(col)

Can you point me to the explanation of this: %(%02X %)%*s  %s  ?

Best regards mt.


More information about the Digitalmars-d mailing list