bin_file_read.cpp 527 B

12345678910111213141516171819202122
  1. //
  2. // $Id$
  3. //
  4. #include<__vic/bin_file.h>
  5. #include<__vic/error.h>
  6. #include<cstdio>
  7. namespace __vic {
  8. //----------------------------------------------------------------------------
  9. size_t bin_file::read_max(void *buf, size_t n)
  10. {
  11. size_t res = std::fread(buf, 1, n , f);
  12. using namespace std; // ferror can be implemented as a macro
  13. if(res == n || !ferror(f)) return res;
  14. throw exception("I/O error: read failed");
  15. }
  16. //----------------------------------------------------------------------------
  17. } // namespace