Systems IO
Binary Write
Binary I/O stores bytes exactly as they appear in memory for a chosen value.
Binary Write
binary_write.c
#include <stdio.h>
int main(void) {
int value = ;
int readBack = 0;
FILE *out = fopen("egtry_c17_binary_write.bin", "wb");
int wrote = (int)fwrite(&value, sizeof(value), 1, out);
fclose(out);
FILE *in = fopen("egtry_c17_binary_write.bin", "rb");
int read = (int)fread(&readBack, sizeof(readBack), 1, in);
fclose(in);
remove("egtry_c17_binary_write.bin");
printf("wrote=%d read=%d value=%d\n", wrote, read, readBack);
return 0;
}
#include <stdio.h>
int main(void) {
int value = ;
int readBack = 0;
FILE *out = fopen("egtry_c17_binary_write.bin", "wb");
int wrote = (int)fwrite(&value, sizeof(value), 1, out);
fclose(out);
FILE *in = fopen("egtry_c17_binary_write.bin", "rb");
int read = (int)fread(&readBack, sizeof(readBack), 1, in);
fclose(in);
remove("egtry_c17_binary_write.bin");
printf("wrote=%d read=%d value=%d\n", wrote, read, readBack);
return 0;
}
#include <stdio.h>
int main(void) {
int value = ;
int readBack = 0;
FILE *out = fopen("egtry_c17_binary_write.bin", "wb");
int wrote = (int)fwrite(&value, sizeof(value), 1, out);
fclose(out);
FILE *in = fopen("egtry_c17_binary_write.bin", "rb");
int read = (int)fread(&readBack, sizeof(readBack), 1, in);
fclose(in);
remove("egtry_c17_binary_write.bin");
printf("wrote=%d read=%d value=%d\n", wrote, read, readBack);
return 0;
}
write count
`fwrite` reports how many items were written.
round trip
Reading the value back confirms the same item was stored.