SDC C-Project CF Review 프로그램
ReviewHistory/include/akCore/akFileMgrAdv.h
»õ ÆÄÀÏ
@@ -0,0 +1,74 @@
#pragma once
#include "akCoreLinker.h"
#include <vector>
//파일 êµ¬ì¡°
//float version;
//size_t structTotalSize;//구조체 ì´ í¬ê¸°
//size_t structNum;//구조체 ê°¯ìˆ˜
//char rev[128]; //예약된 ìž„시공간
//size_t nSize[] ê°ê°ì˜ êµ¬ì¡°ì²´ í¬ê¸°
//void* pData //실제 ë°ì´í„° ì €ìž¥ ê³µê°„
namespace akCore
{
   struct AKCORE_DLLSPEC _akFileMgrHeader
   {
      float version;
      size_t structTotalSize;//구조체 ì´ í¬ê¸°
      size_t structNum;//
      char rev[128];
   };
   class AKCORE_DLLSPEC CakFileMgrAdv
   {
   public:
      CakFileMgrAdv(void);
      ~CakFileMgrAdv(void);
   public:
      //파일 ì“°ê¸°
      bool writeFile(char* pFileName, float fVer=1.0);
      //파일 ì½ê¸°
      //0은 ì‹¤íŒ¨ 1은 ì •상
      //10001 ì½ì–´ì˜¬ êµ¬ì¡°ì²´ í¬ê¸°ê°€ íŒŒì¼ë³´ë‹¤ í¼(struct size > file size)
      //10002 ì½ì–´ì˜¬ êµ¬ì¡°ì²´ í¬ê¸°ê°€ íŒŒì¼ë³´ë‹¤ í¼(struct size > file size)
      //10003 ì½ì–´ì˜¬ êµ¬ì¡°ì²´ì™€ íŒŒì¼í¬ê¸°ê°€ ê°™ìŒ. í•˜ì§€ë§Œ êµ¬ì¡°ì²´ êµ¬ì„±ì´ ë‹¤ë¦„(struct size == file size)
      int readFile(char* filepath, bool bErrorCheck = false);
      //데이터/크기 ìˆ˜ì •(기존의 íŒŒì¼ì •보를 ì½ì–´ì„œ ìƒˆ ë°ì´í„°ë¡œ ìˆ˜ì •)
      bool editFile(char* filepath, int nIndex, void* pData, size_t nSize);
      //데이터/크기 ì´ˆê¸°í™”
      void clear();
      //데이터/크기 ì¶”ê°€
      void addDataSize(void* pData, size_t nSize);
      //데이터/크기 ìˆ˜ì •
      void setDataSize(int nIndex, void* pData, size_t nSize);
      _akFileMgrHeader getFileHeaderInfo(char* pFileName);
   private:
      struct _datasize
      {
         _datasize(void* pData1, size_t nSize1)
         {
            pData = pData1;
            nSize = nSize1;
         }
         void* pData;
         size_t  nSize;
      };
      std::vector<_datasize> m_vecData;
   };
}