XFile.h
上传用户:maryhy001
上传日期:2007-05-02
资源大小:2317k
文件大小:1k
源码类别:

网格计算

开发平台:

Visual C++

  1. // XFile.h: interface for the CXFile class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_XFILE_H__3421850F_329D_4FF9_AE44_D1A1FA5721FD__INCLUDED_)
  5. #define AFX_XFILE_H__3421850F_329D_4FF9_AE44_D1A1FA5721FD__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. //file seek position flag.
  10. typedef enum { fpbegin = 0, fpend, fpcur } FILE_POS;
  11. //file open mode.
  12. typedef enum { fomOpenBirany = ios_base::binary, 
  13. fomOpenForRead = ios_base::in,  
  14. fomOpenForWrite = ios_base::out,
  15. fomCreateAlways = ios_base::trunc | fomOpenForWrite | fomOpenForRead,
  16. } FILE_OPNMODE;
  17. class NETLIBDLLEXPORT CXFile  
  18. {
  19. public:
  20. CXFile();
  21. virtual ~CXFile();
  22. //create or open file.
  23. bool Open(const char *lpszFilename, int fom = fomOpenForRead | fomOpenBirany);
  24. void Close();
  25. //determine the file whether is opened / eof
  26. bool IsOpened();
  27. bool Eof();
  28. //read and write the file buffer.
  29. int Read(void *lpBuf, size_t nSize);
  30. void Write(const void *lpBuf, size_t nSize);
  31. //get the file information...
  32. ulong GetSize();
  33. //get the file name.
  34. string &GetFileName();
  35. //seek operation...
  36. ulong Seek(int noffset = 0, FILE_POS fp = fpcur);
  37. private:
  38. fstream m_ioStream; //file stream object...
  39. string m_strfilename; //file name string text...
  40. };
  41. #endif // !defined(AFX_XFILE_H__3421850F_329D_4FF9_AE44_D1A1FA5721FD__INCLUDED_)