Binary files are files that store data in binary format, such as images, videos, or compiled code.
#include <stdio.h>
struct Student {
char name[50];
int age;
float gpa;
};
int main() {
struct Student s1 = {"Alice", 20, 3.75};
struct Student s2;
// Write the binary file
FILE *filePtr = fopen("student.dat", "wb");
if (filePtr == NULL) {
printf("Error! Could not open file.\n");
return 1;
}
fwrite(&s1, sizeof(struct Student), 1, filePtr);
fclose(filePtr);
// Read the binary file
filePtr = fopen("student.dat", "rb");
if (filePtr == NULL) {
printf("Error! Could not open file.\n");
return 1;
}
fread(&s2, sizeof(struct Student), 1, filePtr);
fclose(filePtr);
printf("Name: %s\nAge: %d\nGPA: %.2f\n", s2.name, s2.age, s2.gpa);
return 0;
}
Explanation:
fwrite(&s1, sizeof(struct Student), 1, filePtr)
: Writes the structures1
to the binary filestudent.dat
.fread(&s2, sizeof(struct Student), 1, filePtr)
: Reads the data from the binary file back into the structures2
.