int main(int argc, char *argv[]) { if (argc != 3) { fprintf(stderr, "Usage: %s <in file> <out file>\n", argv[0]); return -1; } try { FileInputStream iStream(argv[1]); FileOutputStream oStream(argv[2]); StringStream sStream; iStream.streamTo(sStream); sStream.streamTo(oStream); iStream.close(); oStream.close(); } catch (Throwable& t) { cerr << "Caught throwable: " << t.toString() << endl; } catch (...) { cerr << "Caught unknown exception" << endl; } return 0; }