IniFile.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:2k
源码类别:

模拟服务器

开发平台:

C/C++

  1. /********************************************************************
  2. created: 2003/04/09
  3. file base: IniFile
  4. file ext: h
  5. author: liupeng
  6. purpose:
  7. *********************************************************************/
  8. #ifndef __INCLUDE_INIFILE_H__
  9. #define __INCLUDE_INIFILE_H__
  10. #if defined (_MSC_VER) && (_MSC_VER >= 1020)
  11. #pragma once
  12. #endif
  13. #ifndef _WINDOWS_
  14. #define WIN32_LEAN_AND_MEAN
  15. #include <windows.h>
  16. #undef WIN32_LEAN_AND_MEAN
  17. #endif
  18. #pragma warning(disable:4786)
  19. #include <vector>
  20. #include <string>
  21. /*
  22.  * namespace OnlineGameLib::Win32
  23.  */
  24. namespace OnlineGameLib {
  25. namespace Win32 {
  26. /*
  27.  * CIniFile
  28.  */
  29. class CIniFile
  30. {
  31. public:
  32. typedef std::vector< std::string > _VETSTR;
  33. CIniFile();
  34. CIniFile( LPCTSTR pFileName );
  35. ~CIniFile();
  36. void SetFile( LPCTSTR pFileName );
  37. int  ReadInteger( LPCTSTR lpSectionName, LPCTSTR lpKeyName, int nDefault );
  38. BOOL WriteInteger( LPCTSTR lpSectionName, LPCTSTR lpKeyName, int nValue );
  39. DWORD ReadHexNum( LPCTSTR lpSectionName, LPCTSTR lpKeyName, DWORD dwDefault );
  40. BOOL WriteHexNum( LPCTSTR lpSectionName, LPCTSTR lpKeyName, DWORD dwValue );
  41. DWORD ReadString( LPCTSTR lpSectionName, LPCTSTR lpKeyName, LPTSTR lpString, DWORD dwSize, LPCTSTR lpDefault );
  42. BOOL WriteString( LPCTSTR lpSectionName, LPCTSTR lpKeyName, LPCTSTR lpString );
  43. BOOL ReadSections( _VETSTR& stdSections );
  44. BOOL ReadSection( LPCTSTR lpSection, _VETSTR& stdKey );
  45. private:
  46. char m_szFileName[MAX_PATH];
  47. };
  48. } // End of namespace OnlineGameLib
  49. } // End of namespace Win32
  50. #endif // __INCLUDE_INIFILE_H__