/* Copiare il contenuto di un file in un altro. Alla fine stampare a video il numero di bytes copiati. */ #include #include #include int main() { char sorgente[32]; char destinazione[32] = "Destinazione di "; cout << "Immettere il nome del file da copiare: "; cin >> sorgente; strcat(destinazione, sorgente); // Apre un file per l'input. ifstream in_file(sorgente); // Controllo errori di apertura del file. if (!in_file) { cerr << "Impossibile aprire il file ''" << sorgente << "''!" << endl; return 1; } ofstream out_file(destinazione); if (out_file.fail()) { cerr << "Impossibile aprire il file ''" << destinazione << "''!" << endl; return 1; } int num_bytes = 0; while (!in_file.eof()) { char c = in_file.get(); if (!in_file.eof()) { out_file.put(c); ++num_bytes; } } cout << "Copiati " << num_bytes << " bytes." << endl; in_file.close(); out_file.close(); return 0; }