#ifndef __FILEINPUTSTREAM_H__#define __FILEINPUTSTREAM_H__ #include <fstream>#include "InputStream.h" class FileInputStream : public InputStream { public: bool Open (const char* fileName) { file_.open (fileName, std::ios_base::in | std::ios_base::binary); return file_.is_open(); } int read (void* ptr, size_t len) { if (!file_.good()) { return -1; } file_.read (static_cast<char*> (ptr), len); return file_.gcount(); } private: std::ifstream file_;}; #endif //__FILEINPUTSTREAM_H__
#ifndef __FILEINPUTSTREAM_H__
#define __FILEINPUTSTREAM_H__
#include <fstream>
#include "InputStream.h"
class FileInputStream : public InputStream {
public:
bool Open (const char* fileName) {
file_.open (fileName, std::ios_base::in | std::ios_base::binary);
return file_.is_open();
}
int read (void* ptr, size_t len) {
if (!file_.good()) {
return -1;
}
file_.read (static_cast<char*> (ptr), len);
return file_.gcount();
}
private:
std::ifstream file_;
};
#endif //__FILEINPUTSTREAM_H__