Scrivi una funzione che preso in ingresso il nome di due file produca un nuovo file ottenuto dalla concatenazione dei due file.
Soluzione:
/******************************************************************************
Scrivi una funzione che preso in ingresso il nome di due file produca un nuovo
file ottenuto dalla concatenazione dei due file.
*******************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#define MAX_FILE_SIZE 1024
void unisci_file_binari(const char* file1, const char* file2) {
FILE *fbin1, *fbin2, *fwr;
char buffer[MAX_FILE_SIZE];
if ((fwr = fopen("union.bin", "wb")) != NULL) {
if ((fbin1 = fopen(file1, "rb")) != NULL) {
int num_el1 = fread(buffer, sizeof(char), MAX_FILE_SIZE, fbin1);
fwrite(buffer, sizeof(char), num_el1, fwr);
printf("Elementi file1 %d\n", num_el1);
} else {
printf("Problema nell'apertura del primo file\n");
fclose(fwr);
return;
}
if ((fbin2 = fopen(file2, "rb")) != NULL) {
int num_el2 = fread(buffer, sizeof(char), MAX_FILE_SIZE, fbin2);
fwrite(buffer, sizeof(char), num_el2, fwr);
printf("Elementi file2 %d\n", num_el2);
} else {
fclose(fbin1);
fclose(fwr);
printf("Problema nell'apertura del secondo file\n");
return;
}
fclose(fbin1);
fclose(fbin2);
} else {
printf("Problema nell'apertura del file in scrittura\n");
}
}
int main() {
unisci_file_binari("f1.bin", "f2.bin");
return 0;
}




Lascia un commento
Devi essere connesso per inviare un commento.