/* Nome: Mario Cognome: Montanari Classe: 3AIN Data: 24/04/2025 es05: Scrivi una funzione che preso in ingresso il nome di due file produca un nuovo file ottenuto dalla concatenazione dei due file escludendo perĂ² i numeri duplicati. */ #include #define SIZE_FILE_NAME 1000+1 using namespace std; int main(void) { char in1_name[SIZE_FILE_NAME]; char in2_name[SIZE_FILE_NAME]; cout << "First input file: "; cin >> in1_name; cout << "Second input file: "; cin >> in2_name; FILE * in1 = fopen(in1_name, "rb"); FILE * in2 = fopen(in2_name, "rb"); if ((in1 != NULL) && (in2 != NULL)) { FILE * out = fopen("out.bin", "wb"); if (out != NULL) { int num; int ultimo_letto = -1; while (fread(&num, sizeof(int), 1, in1) == 1) { cout << "Letto da in1: " << num << endl; if (num != ultimo_letto) { fwrite(&num, sizeof(int), 1, out); ultimo_letto = num; } } //fwrite("\n", sizeof(char), 1, out); while (fread(&num, sizeof(int), 1, in2) == 1) { cout << "Letto da in2: " << num << endl; if (num != ultimo_letto) { fwrite(&num, sizeof(int), 1, out); ultimo_letto = num; } } fclose(out); } else { perror("Error (destination)"); } fclose(in1); fclose(in2); } else { perror("Error (source)"); } return 0; }