bool write_file_binary(std::string const & filename, char const * data, size_t const bytes) { std::ofstream b_stream(filename.c_str(), std::fstream::out | std::fstream::binary); if (b_stream) { b_stream.write(data, bytes); return (b_stream.good()); } return false; }
int main(int argc, char **argv) { if (argc < 3) { std::cerr << "usage: intersection-snapshots <a-snapshot> <b-snapshot>" << std::endl; return 1; } std::ifstream a_stream(argv[1]); std::string a((std::istreambuf_iterator<char>(a_stream)), std::istreambuf_iterator<char>()); std::ifstream b_stream(argv[2]); std::string b((std::istreambuf_iterator<char>(b_stream)), std::istreambuf_iterator<char>()); vmprobe::cache::snapshot::builder bld; bld.build_intersection(a, b); std::string output(bld.buf.data(), bld.buf.size()); std::cout << output; return 0; }