/* ========================================================================== * ÀÛ ¼º ÀÚ : À̼ø±Ô * ÀÛ ¼º ÀÏ : 2006.12.04 * ³» ¿ë : ÆÄÀÏ ÀÔÃâ·Â ó¸® * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once /// ÆÄÀÏ °æ·Î¸¦ ¾òÀ½ /// ÀÎÀÚ: "c:/mydir/myfile.ext" /// °á°ú: "c:/mydir/" bool GetFilePath( cString* out, const cString& str); bool GetFilePath( cStringW* out, const cStringW& str); /// ÆÄÀÏ À̸§À» ¾òÀ½ /// ÀÎÀÚ: "c:/mydir/myfile.ext" /// °á°ú: "myfile.ext" bool GetFileName( cString* out, const cString& str); /// ÆÄÀÏ È®ÀåÀÚ¸¦ ¾òÀ½ /// ÀÎÀÚ: "c:/mydir/myfile.ext" /// °á°ú: "ext" bool GetFileExtension( cString* out, const cString& str); cString GetFileExtension( const cString& str); cString GetFileExtension( const char* str, unsigned int strLen ); /// ÆÄÀÏ Á¸Àç ¿©ºÎ bool FileExist( const cString& pathName ); bool FileExist( const cStringW& pathName ); /// ÆÄÀÏ »èÁ¦ bool FileRemove( const cString& pathName ); /// ÆÄÀÏ À̸§ º¯°æ bool FileRename( const cString& oldName, const cString& newName ); /// ÆÄÀÏ ¹é¾÷ bool FileBackup( const cString& pathName ); /// Àбâ Àü¿ë ÆÄÀÏ class cFileToRead { public: cFileToRead(); virtual ~cFileToRead(); /// ¿­±â virtual bool Open( const cString& pathName ); /// ´Ý±â /// ¼º°øÇϸé 0, ½ÇÆÐÇϸé -1À» ¸®ÅÏÇÑ´Ù. virtual int Close(); /// µ¥ÀÌŸ Àбâ /// ½ÇÁ¦·Î ÀÐ¾î µéÀÎ ¹ÙÀÌÆ® ¼ö¸¦ ¸®ÅÏÇÑ´Ù. /// ½ÇÆÐÇϰųª ÆÄÀÏ ³¡¿¡ µµ´ÞÇϸé 0À» ¸®ÅÏÇÑ´Ù. virtual unsigned int Read( void* buffer, unsigned int bytes ); /// ÇÑ ÁÙ Àбâ /// ÀÐ¾î µéÀÎ ¹ÙÀÌÆ® ¼ö¸¦ ¸®ÅÏÇÑ´Ù. /// ½ÇÆÐÇϰųª ÆÄÀÏ ³¡¿¡ µµ´ÞÇϸé 0À» ¸®ÅÏÇÑ´Ù. /// ÁÖÀÇ: ÁÙ ³¡¿¡ ³Î¹®ÀÚ¸¦ Ãß°¡ÇϹǷΠÃÖ´ë bufferSize-1 ¸¸Å­À» ÀÐ¾î µéÀδÙ. virtual unsigned int ReadLine( char* buffer, unsigned int bufferSize ); /// ³»ºÎ À§Ä¡¸¦ À̵¿ /// ¼º°øÇϸé 0, ½ÇÆÐÇϸé -1À» ¸®ÅÏÇÑ´Ù. virtual int Seek( unsigned int offset, int origin = SEEK_SET ); /// ³»ºÎ À§Ä¡¸¦ ¸®ÅÏ /// ½ÇÆÐÇϸé 0À» ¸®ÅÏÇÑ´Ù. virtual unsigned int Tell() const; /// ÆÄÀÏ Å©±â¸¦ ¸®ÅÏ virtual unsigned int GetSize() const; /// ÆÄÀÏ ³¡¿¡ µµ´ÞÇß´ÂÁö ¿©ºÎ¸¦ ¸®ÅÏ virtual bool IsEnd() const; /// ºó ÆÄÀÏÀÎÁö ¸®ÅÏ bool IsEmpty() const; //protected: /// ÆÄÀÏ »çÀÌÁî unsigned int mSize; /// ÆÄÀÏ ±¸Á¶Ã¼ FILE* mFile; }; inline bool cFileToRead::IsEmpty() const { return mSize == 0; } /// ¾²±â Àü¿ë ÆÄÀÏ class cFileToWrite { public: cFileToWrite(); virtual ~cFileToWrite(); /// ¿­±â virtual bool Open( const cString& pathName ); /// ´Ý±â /// ¼º°øÇϸé 0, ½ÇÆÐÇϸé -1À» ¸®ÅÏÇÑ´Ù. virtual int Close(); /// µ¥ÀÌŸ ¾²±â /// ½ÇÁ¦·Î ¾´ µ¥ÀÌŸ Å©±â¸¦ ¸®ÅÏÇÑ´Ù. ½ÇÆÐÇϸé 0À» ¸®ÅÏÇÑ´Ù. virtual unsigned int Write( const void* buffer, unsigned int bytes ); /// µ¥ÀÌŸ¸¦ ¸ðµÎ ¾²±â /// ¼º°øÇϸé 0, ½ÇÆÐÇϸé -1À» ¸®ÅÏÇÑ´Ù. virtual int Flush(); protected: /// ÆÄÀÏ ±¸Á¶Ã¼ FILE* mFile; }; //------------------------------------------------------- class cFileToReadW { public: cFileToReadW(); virtual ~cFileToReadW(); /// ¿­±â virtual bool Open( const cStringW& pathName ); /// ´Ý±â /// ¼º°øÇϸé 0, ½ÇÆÐÇϸé -1À» ¸®ÅÏÇÑ´Ù. virtual int Close(); /// µ¥ÀÌŸ Àбâ /// ½ÇÁ¦·Î ÀÐ¾î µéÀÎ ¹ÙÀÌÆ® ¼ö¸¦ ¸®ÅÏÇÑ´Ù. /// ½ÇÆÐÇϰųª ÆÄÀÏ ³¡¿¡ µµ´ÞÇϸé 0À» ¸®ÅÏÇÑ´Ù. virtual unsigned int Read( void* buffer, unsigned int bytes ); /// ÇÑ ÁÙ Àбâ /// ÀÐ¾î µéÀÎ ¹ÙÀÌÆ® ¼ö¸¦ ¸®ÅÏÇÑ´Ù. /// ½ÇÆÐÇϰųª ÆÄÀÏ ³¡¿¡ µµ´ÞÇϸé 0À» ¸®ÅÏÇÑ´Ù. /// ÁÖÀÇ: ÁÙ ³¡¿¡ ³Î¹®ÀÚ¸¦ Ãß°¡ÇϹǷΠÃÖ´ë bufferSize-1 ¸¸Å­À» ÀÐ¾î µéÀδÙ. virtual unsigned int ReadLine( wchar_t* buffer, unsigned int bufferSize ); /// ³»ºÎ À§Ä¡¸¦ À̵¿ /// ¼º°øÇϸé 0, ½ÇÆÐÇϸé -1À» ¸®ÅÏÇÑ´Ù. virtual int Seek( unsigned int offset, int origin = SEEK_SET ); /// ³»ºÎ À§Ä¡¸¦ ¸®ÅÏ /// ½ÇÆÐÇϸé 0À» ¸®ÅÏÇÑ´Ù. virtual unsigned int Tell() const; /// ÆÄÀÏ Å©±â¸¦ ¸®ÅÏ virtual unsigned int GetSize() const; /// ÆÄÀÏ ³¡¿¡ µµ´ÞÇß´ÂÁö ¿©ºÎ¸¦ ¸®ÅÏ virtual bool IsEnd() const; /// ºó ÆÄÀÏÀÎÁö ¸®ÅÏ bool IsEmpty() const; //protected: /// ÆÄÀÏ »çÀÌÁî unsigned int mSize; /// ÆÄÀÏ ±¸Á¶Ã¼ FILE* mFile; }; inline bool cFileToReadW::IsEmpty() const { return mSize == 0; } /// ¾²±â Àü¿ë ÆÄÀÏ class cFileToWriteW { public: cFileToWriteW(); virtual ~cFileToWriteW(); /// ¿­±â virtual bool Open( const cStringW& pathName ); /// ´Ý±â /// ¼º°øÇϸé 0, ½ÇÆÐÇϸé -1À» ¸®ÅÏÇÑ´Ù. virtual int Close(); /// µ¥ÀÌŸ ¾²±â /// ½ÇÁ¦·Î ¾´ µ¥ÀÌŸ Å©±â¸¦ ¸®ÅÏÇÑ´Ù. ½ÇÆÐÇϸé 0À» ¸®ÅÏÇÑ´Ù. virtual unsigned int Write( const void* buffer, unsigned int bytes ); /// µ¥ÀÌŸ¸¦ ¸ðµÎ ¾²±â /// ¼º°øÇϸé 0, ½ÇÆÐÇϸé -1À» ¸®ÅÏÇÑ´Ù. virtual int Flush(); protected: /// ÆÄÀÏ ±¸Á¶Ã¼ FILE* mFile; };