#include <stdio.h>
struct zigzag {
int a;
char b[20];
};
int writeBinary(const struct zigzag);
int readBinary(struct zigzag *);
int main() {
struct zigzag myZig, inZig;
struct zigzag *ptr;
ptr = &inZig;
myZig.a = 24;
strcpy(myZig.b, "Blubber");
if(writeBinary(myZig))
exit(1);
if(readBinary(ptr))
exit(1);
printf("inZig.a: %d\n", inZig.a);
printf("inZig.b: %s\n", inZig.b);
}
int writeBinary(const struct zigzag j) {
FILE *outFile;
if(!(outFile = fopen("binout", "w")))
return 1;
fwrite(&j,sizeof(struct zigzag),1,outFile);
fclose(outFile);
return 0;
}
int readBinary(struct zigzag *b) {
FILE *inFile;
if(!(inFile = fopen("binout", "r")))
return 1;
fread((struct zigzag *)b,sizeof(struct zigzag),1,inFile);
fclose(inFile);
return 0;
}