Re: find a pattern in binary file
On Jun 22, 12:49 am, Kai-Uwe Bux <jkherci...@gmx.net> wrote:
James Kanze wrote:
[...]
Unless you're doing something relatively generic, with
support for different separators, etc., this really looks
like a case of for_each abuse.
Actually, with regard to for_each, I am growing more and more
comfortable using it.
I'm actually pretty comfortable using it too. Regretfully, we
seem to be a minority, and the programmers having to maintain my
code find it "unnatural", and that it hurts readability, to move
the contents of a loop out into a separate class. Unless that
class is in some way "reusable", i.e. it represents some more
general application.
[...]
std::cout << '\n';
Which results in one new line too many if the number of
elements just happened to be an exact multiple of the line
length.
You are making up specs :-)
You started it:-). You decided that he needed newlines in ths
sequence to begin with. (OK: somebody did say something about
megabytes somewhere. But maybe he has a very, very wide
screen.)
But seriously: you are right, of course.
About the only real use for this sort of output I've found is
debugging or experimenting, but there, I use it often enough
that I've a generic Dump<T> class (and a generic function which
returns it, for automatic type deduction), so that I can write
things like:
std::cout << dump( someObject ) << std::endl ;
[snip]
Hm, I never had a use for hex dumping objects. But, maybe I
should try that out.
I didn't really, for the longest time (which is why it isn't at
my site---I only added it to the library very recently). Even
now, most of its use is for "experimenting": for trying to guess
the representation of some type in an undocumented format, for
example.
On the other hand, if I ever find time to write up an article on
how to correctly use iostream, I'll probably include it, because
it is a good example of how to handle arbitrary formatting for
any possible type.
--
James Kanze (GABI Software) email:james.kanze@gmail.com
Conseils en informatique orient=E9e objet/
Beratung in objektorientierter Datenverarbeitung
9 place S=E9mard, 78210 St.-Cyr-l'=C9cole, France, +33 (0)1 30 23 00 34