#include <iostream>
#include <fstream>
#include <iterator>
#include <algorithm>
using namespace std;
int main(int argc, char *argv[])
{
if(argc != 5) {
cout << "Usage: replace in out oldchar newchar\n";
return 1;
}
ifstream in(argv[1]);
ofstream out(argv[2]);
if(!in.is_open()) {
cout << "Cannot open input file.\n";
return 1;
}
if(!out.is_open()) {
cout << "Cannot open output file.\n";
return 1;
}
// Create stream iterators.
istreambuf_iterator<char> in_itr(in);
ostreambuf_iterator<char> out_itr(out);
// Copy the file, replacing characters in the process.
replace_copy(in_itr, istreambuf_iterator<char>(),out_itr, *argv[3], *argv[4]);
in.close();
out.close();
return 0;
}