📄 sh_file.cpp
字号:
// SH_File.cpp: implementation of the SH_File class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "SH_File.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
SH_File::SH_File()
{
m_strFileName = _T("");
m_fp = NULL;
}
SH_File::~SH_File()
{
if(m_fp)
{
fclose(m_fp);
m_fp = NULL;
}
}
BOOL SH_File::Open(LPCTSTR cszFileName,LPCTSTR cszMode)
{
m_fp = fopen(cszFileName,cszMode);
if(m_fp)
{
m_strFileName = cszFileName;
}
return (m_fp != NULL);
}
VOID SH_File::Close()
{
if(m_fp)
fclose(m_fp);
}
LONG SH_File::Read(char * buffer,int len)
{
LONG bytes = 0;
if(m_fp)
{
bytes = fread(buffer,len,1,m_fp);
}
return bytes;
}
LONG SH_File::Write(const char * buffer,int len)
{
LONG bytes = 0;
if(m_fp)
{
bytes = fwrite(buffer,len,1,m_fp);
}
return bytes;
}
char * SH_File::ReadString(char * buffer,int len) const
{
char * tmp = NULL;
if(m_fp)
{
tmp = fgets(buffer,len,m_fp);
}
return tmp;
}
char * SH_File::ReadString(CString & buffer) const
{
char tmp[2048] = {0};
ReadString(tmp,sizeof(buffer)-1);
buffer = tmp;
return (LPSTR)(LPCTSTR)buffer;
}
LONG SH_File::WriteString(char * buffer)
{
LONG bytes = 0;
if(m_fp)
{
bytes = fputs(buffer,m_fp);
}
return bytes;
}
LONG SH_File::WriteString(CString buffer)
{
return WriteString((LPCTSTR)buffer);
}
LONG SH_File::GetLength()
{
LONG start,len;
start = len = 0;
if(SeekToStart())
{
start = ftell(m_fp);
if(SeekToEnd())
{
len = ftell(m_fp) - start;
}
}
return len;
}
BOOL SH_File::Flush()
{
BOOL bRet = FALSE;
if(m_fp)
{
if(fflush(m_fp) == 0)
bRet = TRUE;
}
return bRet;
}
BOOL SH_File::SeekToStart()
{
return Seek(0,SEEK_SET);
}
BOOL SH_File::SeekToEnd()
{
return Seek(0,SEEK_END);
}
BOOL SH_File::SeekFromStart(LONG offset)
{
return Seek(offset,SEEK_SET);
}
BOOL SH_File::SeekFromEnd(LONG offset)
{
return Seek(offset,SEEK_END);
}
BOOL SH_File::SeekFromCurrent(LONG offset)
{
return Seek(offset,SEEK_CUR);
}
BOOL SH_File::Seek(LONG offset, int origin)
{
if(m_fp)
{
return (fseek(m_fp,offset,origin) == 0);
}
return FALSE;
}
BOOL SH_File::Delete()
{
Close();
return DeleteFile(m_strFileName);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -