On Mon, Mar 13, 2017 at 10:47:09AM -0700, H. S. Teoh via Digitalmars-d-learn 
wrote:
[...]
> P.S. I just realized that std.stdio.chunks() doesn't return a range.
> Bah. File an enhancement request. I might even submit a PR for it. ;-)
[...]
> P.P.S.  It's not overly hard to write an alternative version of
> std.stdio.chunks that returns a real range.
[...]

Bah, I'm an idiot.  Just use File.byChunk instead of .chunks. Here's a
fully-working example:

        import std.stdio;

        bool equal(File f1, File f2)
        {
                import std.algorithm.comparison : equal;
                enum bufSize = 4096;
                return f1.byChunk(bufSize).equal(f2.byChunk(bufSize));
        }

        int main(string[] args) {
                if (args.length < 3)
                {
                        stderr.writeln("Please specify filenames");
                        return 1;
                }

                if (equal(File(args[1]), File(args[2])))
                        writeln("Files are identical.");
                else
                        writeln("Files differ.");
                return 0;
        }


T

-- 
INTEL = Only half of "intelligence".

Reply via email to