⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sh_file.cpp

📁 rsa算法打的一个包
💻 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 + -