103 lines
1.9 KiB
C++
103 lines
1.9 KiB
C++
#ifndef _COMMON_FILE_HPP_
|
|
#define _COMMON_FILE_HPP_
|
|
#ifndef _COMMON_WINDOWS_HPP_
|
|
#include <common/windows.hpp>
|
|
#endif
|
|
#ifndef _COMMON_STDIO_HPP_
|
|
#include <common/stdio.hpp>
|
|
#endif
|
|
#ifndef _COMMON_STRING_HPP_
|
|
#include <common/string.hpp>
|
|
#endif
|
|
|
|
class File
|
|
{
|
|
public:
|
|
enum SeekMethod{SeekSet=SEEK_SET,SeekCur=SEEK_CUR,SeekEnd=SEEK_END};
|
|
File(void);
|
|
File(String pathFileName,String access="rb");
|
|
File(const File &someFile);
|
|
virtual ~File();
|
|
File &operator=(const File &someFile);
|
|
bool operator==(const File &someFile);
|
|
bool open(String pathFileName,String access="rb");
|
|
bool close(void);
|
|
bool rewind(void);
|
|
bool seek(long pos,SeekMethod seekMethod=SeekSet)const;
|
|
DWORD tell(void)const;
|
|
DWORD length(void)const;
|
|
const String &pathFileName(void)const;
|
|
const String &access(void)const;
|
|
DWORD readLine(String &lineString);
|
|
DWORD read(void *pData,int extent);
|
|
DWORD read(BYTE &value);
|
|
DWORD read(WORD &value);
|
|
DWORD read(DWORD &value);
|
|
DWORD read(int &value);
|
|
DWORD read(double &value);
|
|
DWORD read(char *lpBuffer,WORD lengthData,int stopChar);
|
|
DWORD write(int value);
|
|
DWORD write(double value);
|
|
DWORD write(BYTE value);
|
|
DWORD write(WORD value);
|
|
DWORD write(DWORD value);
|
|
bool write(const String &string);
|
|
DWORD write(const void *lpBuffer,DWORD lengthData);
|
|
bool write(void *pData,DWORD extent);
|
|
bool writeLine(const String &lineString);
|
|
bool operator+=(DWORD sizeIncrement);
|
|
bool operator++(void);
|
|
bool operator++(int postFixDummy);
|
|
bool operator-=(DWORD sizeDecrement);
|
|
bool operator--(void);
|
|
bool operator--(int postFixDummy);
|
|
bool flush(void);
|
|
bool eof(void)const;
|
|
bool isOkay(void)const;
|
|
FILE *getFile(void);
|
|
private:
|
|
enum {CarriageReturn=0x0D,LineFeed=0x0A,TabChar=0x09,NullChar=0x00};
|
|
FILE *mpFilePointer;
|
|
String mPathFileName;
|
|
String mAccess;
|
|
};
|
|
|
|
inline
|
|
FILE *File::getFile(void)
|
|
{
|
|
return mpFilePointer;
|
|
}
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|