School-Coding-Cpp/sfusi/es05_copiafile1_foschini_fi...

53 lines
1.1 KiB
C++

/*
Nome: Mario
Cognome: Montanari
Classe: 3AIN
Data: 04/04/2025
es05. (copiafile1)
Scrivere una funzione che, ricevuti in ingresso i nomi di
due file, effettui la copia carattere per carattere del primo
file nel secondo file. La funzione restituisce true se la copia
si e` conclusa con successo, false in caso contrario. Utilizzare
la funzione per copiare il file in.txt nel file out.txt.
*/
#include <iostream>
#define SIZE_LINE 1000+1
using namespace std;
bool copiaFile(const char * nomeFileSorgente, const char * nomeFileDestinazione);
int main(void) {
cout << copiaFile("in.txt", "out.txt") << endl;
return 0;
}
bool copiaFile(const char * nomeFileSorgente, const char * nomeFileDestinazione) {
FILE * fr = fopen(nomeFileSorgente, "rt");
if (fr != NULL) {
FILE * fw = fopen(nomeFileDestinazione, "wt");
if (fw != NULL) {
char str[SIZE_LINE];
while (fgets(str, sizeof(str), fr) != NULL) {
fputs(str, fw);
}
fclose(fw);
} else {
return false;
}
fclose(fr);
} else {
return false;
}
return true;
}