#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
string inName;
string outName;
cout << "Read text from: ";
getline(cin,inName);
cout << "Write text to: ";
getline(cin,outName);
ifstream inFile;
ofstream outFile;
inFile.open(inName, ios::in|ios::binary);
if (!inFile.is_open()) {
cout << "ERROR: Cannot open " << inName << " file for reading." << endl;
return(1);
}
outFile.open(outName, ios::out|ios::binary);
if (!outFile.is_open()) {
cout << "ERROR: Cannot open " << inName << " file for writing." << endl;
inFile.close();
return(1);
}
for (;;) {
char buffer[256];
inFile.read(buffer, sizeof(buffer));
unsigned long bytes_read = inFile.gcount();
if (bytes_read==0) break;
outFile.write(buffer, bytes_read);
if (outFile.fail()) {
outFile.clear();
cerr << "ERROR: writing to file failed!" << endl;
break;
}
}
inFile.clear();
inFile.close();
outFile.close();
return(0);
}