Copy a file and reverse case of letters with error checking.
#include <iostream>
#include <fstream>
#include <cctype>
using namespace std;
int main(int argc, char *argv[])
{
char ch;
if(argc!=3) {
cout << "Usage: COPYREV <source> <target>\n";
return 1;
}
ifstream in(argv[1]);
if(!in) {
cout << "Cannot open input file.\n";
return 1;
}
ofstream out(argv[2]);
if(!out) {
cout << "Cannot open output file";
return 1;
}
while(!in.eof()) {
ch = in.get();
if(!in.good() && !in.eof())
return 1;
if(!in.eof()) {
if(islower(ch))
ch = toupper(ch);
else
ch = tolower(ch);
out.put(ch);
if(!out.good())
return 1;
}
};
in.close();
out.close();
if(!in.good() && !out.good())
return 1;
return 0;
}
Related examples in the same category