xfile.h
上传用户:pass2008
上传日期:2021-07-05
资源大小:3299k
文件大小:3k
源码类别:

Internet/IE编程

开发平台:

Visual C++

  1. /*
  2.  * File: xfile.h
  3.  * Purpose: General Purpose File Class 
  4.  */
  5. /*
  6.   --------------------------------------------------------------------------------
  7. COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
  8. CxFile (c)  11/May/2002 Davide Pizzolato - www.xdp.it
  9. CxFile version 2.00 23/Aug/2002
  10. CxFile version 2.10 16/Dec/2007
  11. Special thanks to Chris Shearer Cooper for new features, enhancements and bugfixes
  12. Covered code is provided under this license on an "as is" basis, without warranty
  13. of any kind, either expressed or implied, including, without limitation, warranties
  14. that the covered code is free of defects, merchantable, fit for a particular purpose
  15. or non-infringing. The entire risk as to the quality and performance of the covered
  16. code is with you. Should any covered code prove defective in any respect, you (not
  17. the initial developer or any other contributor) assume the cost of any necessary
  18. servicing, repair or correction. This disclaimer of warranty constitutes an essential
  19. part of this license. No use of any covered code is authorized hereunder except under
  20. this disclaimer.
  21. Permission is hereby granted to use, copy, modify, and distribute this
  22. source code, or portions hereof, for any purpose, including commercial applications,
  23. freely and without fee, subject to the following restrictions: 
  24. 1. The origin of this software must not be misrepresented; you must not
  25. claim that you wrote the original software. If you use this software
  26. in a product, an acknowledgment in the product documentation would be
  27. appreciated but is not required.
  28. 2. Altered source versions must be plainly marked as such, and must not be
  29. misrepresented as being the original software.
  30. 3. This notice may not be removed or altered from any source distribution.
  31.   --------------------------------------------------------------------------------
  32.  */
  33. #if !defined(__xfile_h)
  34. #define __xfile_h
  35. #if defined (WIN32) || defined (_WIN32_WCE)
  36.  #include <windows.h>
  37. #endif
  38. #include <stdio.h>
  39. #include <stdlib.h>
  40. #include "ximadef.h"
  41. class DLL_EXP CxFile
  42. {
  43. public:
  44. CxFile(void) { };
  45. virtual ~CxFile() { };
  46. virtual bool Close() = 0;
  47. virtual size_t Read(void *buffer, size_t size, size_t count) = 0;
  48. virtual size_t Write(const void *buffer, size_t size, size_t count) = 0;
  49. virtual bool Seek(long offset, int origin) = 0;
  50. virtual long Tell() = 0;
  51. virtual long Size() = 0;
  52. virtual bool Flush() = 0;
  53. virtual bool Eof() = 0;
  54. virtual long Error() = 0;
  55. virtual bool PutC(unsigned char c)
  56. {
  57. // Default implementation
  58. size_t nWrote = Write(&c, 1, 1);
  59. return (bool)(nWrote == 1);
  60. }
  61. virtual long GetC() = 0;
  62. virtual char * GetS(char *string, int n) = 0;
  63. virtual long Scanf(const char *format, void* output) = 0;
  64. };
  65. #endif //__xfile_h