#include <iostream>
#include <fstream>
#include <iterator>
#include <algorithm>
struct CopyFile
{
CopyFile(std::ostream& out)
:m_out(out)
{}
void operator()(const char* arg) const
{
std::ifstream file(arg);
std::copy(std::istreambuf_iterator<char>(file),std::istreambuf_iterator<char>(),std::ostream_iterator<char>(m_out));
}
std::ostream& m_out;
};
int main(int argc,char*argv[])
{
std::for_each(&argv[1],&argv[argc],CopyFile(std::cout));
return(0);
}