covid-sim
Loading...
Searching...
No Matches
BinIO.cpp
1#include <stdio.h>
2#include "BinIO.h"
3
4size_t fwrite_big(void *buffer,size_t size,size_t count, FILE *stream)
5{
6 const unsigned long long mx=0x80000000;
7 unsigned long long j,n,st;
8 size_t ret=0;
9 char *buf2;
10
11 st=mx/((unsigned long long) size);
12 n=count/st;
13 for(j=0;j<n;j++)
14 {
15 buf2=((char *)buffer)+j*st*size;
16 ret+=(fwrite(buf2,size,(size_t) st,stream));
17 }
18 buf2=((char *)buffer)+n*st*size;
19 ret+=(fwrite(buf2,size,(size_t) (count-n*st),stream));
20 return ret;
21}
22
23size_t fread_big(void *buffer,size_t size,size_t count, FILE *stream)
24{
25 const unsigned long long mx=0x80000000;
26 unsigned long long j,n,st;
27 size_t ret=0;
28 char *buf2;
29
30 st=mx/((unsigned long long) size);
31 n=count/st;
32 for(j=0;j<n;j++)
33 {
34 buf2=((char *)buffer)+j*st*size;
35 ret+=(fread(buf2,size,(size_t) st,stream));
36 }
37 buf2=((char *)buffer)+n*st*size;
38 ret+=(fread(buf2,size,(size_t) (count-n*st),stream));
39 return ret;
40}