Availability:C-language interface function
size_t Sfread(void 
*data, size_t size, size_t elems, IOSTREAM *s)
size_t Sfwrite(const 
void *data, size_t size, size_t elems, IOSTREAM *s)Emulations of the POSIX fread() and fwrite() calls for 
Prolog streams. These functions read or write elems objects 
of size size and return the number of objects successfully 
read or written. Data exchange is binary (even if the stream is in text 
mode) and unlike read() and
write(), these 
functions keep reading or writing until end-of-file (for
Sfread()) or an 
error.