School-Coding-Cpp/sfusi/es01b_zoli_binaryfile.c

58 lines
1.0 KiB
C

/*
Nome: Mario
Cognome: Montanari
Classe: 3AIN
Data: 16/04/2025
leggere con un ciclo while tutti gli elementi del file e metterli in un array
*/
#include <stdio.h>
void leggiNumeri(FILE * file);
void creaFile(FILE * file);
int main(void) {
FILE *file = fopen("file_70.bin", "rb");
if (file != NULL) {
leggiNumeri(file);
fseek(file, 0, SEEK_SET);
printf("\n");
creaFile(file);
fclose(file);
} else {
perror("Error (source)");
}
return 0;
}
void leggiNumeri(FILE * file) {
int numero;
while (fread(&numero, sizeof(int), 1, file) == 1) {
printf("%d ", numero);
}
printf("\n");
}
void creaFile(FILE * file) {
FILE * out = fopen("out.bin", "wb");
if (out != NULL) {
int numero;
while (fread(&numero, sizeof(int), 1, file) == 1) {
if (numero % 2 == 0) {
fwrite(&numero, sizeof(int), 1, out);
printf("%d ", numero);
}
}
fclose(out);
} else {
perror("Error (destination)");
}
}