Endian-independent binary IO utilities for C
at main 536 B view raw
1#define bini_libc_names 2#include <bini.c> 3 4void write(bstream *bs) 5{ 6 bputi(bs, 42); 7 bputi(bs, INT32_MAX); 8 bputi(bs, INT32_MIN); 9 bputi(bs, 0); 10} 11 12void read(bstream *bs) 13{ 14 printf("life=%d\n", breadi(bs)); 15 printf("max i32=%d\n", breadi(bs)); 16 printf("min i32=%d\n", breadi(bs)); 17 printf("zero=%d\n", breadi(bs)); 18} 19 20int main(void) 21{ 22 bstream *bs = bnew(); 23 write(bs); 24# ifdef x_writebin 25 { 26 FILE *fp = fopen("out.bin", "wb"); 27 fwrite(bs->buffer, 1, bs->len, fp); 28 fclose(fp); 29 } 30# endif 31 bdump(stderr, bs); 32 read(bs); 33 bclose(bs); 34}