67 lines
1.4 KiB
C
67 lines
1.4 KiB
C
/*
|
|
Nome: Mario
|
|
Cognome: Montanari
|
|
Classe: 3AIN
|
|
Data: 17/04/2025
|
|
|
|
es04:
|
|
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>
|
|
|
|
#define SIZE 1000+1
|
|
|
|
void concatenaFile(FILE * file_input1, FILE * file_input2);
|
|
|
|
int main(void) {
|
|
char input1[SIZE];
|
|
char input2[SIZE];
|
|
|
|
printf("First input file: ");
|
|
scanf("%s", input1);
|
|
|
|
printf("Second input file: ");
|
|
scanf("%s", input2);
|
|
|
|
FILE * file_input1 = fopen(input1, "rb");
|
|
FILE * file_input2 = fopen(input2, "rb");
|
|
|
|
if (
|
|
file_input1 != NULL &&
|
|
file_input2 != NULL
|
|
) {
|
|
concatenaFile(file_input1, file_input2);
|
|
|
|
fclose(file_input1);
|
|
fclose(file_input2);
|
|
} else {
|
|
perror("Error (source)");
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
void concatenaFile(FILE * file_input1, FILE * file_input2) {
|
|
FILE * file_output = fopen("file_output.bin", "wb");
|
|
|
|
if (file_output != NULL) {
|
|
char buffer[SIZE];
|
|
int byteLetti;
|
|
|
|
while ((byteLetti = fread(buffer, 1, sizeof(buffer), file_input1)) > 0) {
|
|
fwrite(buffer, 1, byteLetti, file_output);
|
|
}
|
|
|
|
while ((byteLetti = fread(buffer, 1, sizeof(buffer), file_input2)) > 0) {
|
|
fwrite(buffer, 1, byteLetti, file_output);
|
|
}
|
|
|
|
printf("\nCheck the output file.");
|
|
|
|
fclose(file_output);
|
|
} else {
|
|
perror("Error (destination)");
|
|
}
|
|
} |