• 大小: 1.05MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-21
  • 语言: C/C++
  • 标签: C++  课程设计  

资源简介

C++ 日程管理软件 课程设计 C++ 日程管理软件 课程设计 C++ 日程管理软件 课程设计 C++ 日程管理软件 课程设计 C++ 日程管理软件 课程设计

资源截图

代码片段和文件信息

// base64Coder.cpp: implementation of the base64Coder class.
//
//////////////////////////////////////////////////////////////////////

#include “stdafx.h“
#include “base64Coder.h“

// Digits...
static char base64Digits[] = “ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/“;

BOOL base64Coder::m_Init = FALSE;
char base64Coder::m_DecodeTable[256];

#ifndef PAGESIZE
#define PAGESIZE 4096
#endif

#ifndef ROUNDTOPAGE
#define ROUNDTOPAGE(a) (((a/4096)+1)*4096)
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

base64Coder::base64Coder()
: m_pDBuffer(NULL)
m_pEBuffer(NULL)
m_nDBufLen(0)
m_nEBufLen(0)
{

}

base64Coder::~base64Coder()
{
if(m_pDBuffer != NULL)
delete [] m_pDBuffer;

if(m_pEBuffer != NULL)
delete [] m_pEBuffer;
}

LPCTSTR base64Coder::DecodedMessage() const 

return (LPCTSTR) m_pDBuffer;
}

PBYTE base64Coder::DecodedMessage(DWORD& nLenMessage) const
{
nLenMessage = m_nDDataLen;

return m_pDBuffer;
}

LPCTSTR base64Coder::EncodedMessage() const

return (LPCTSTR) m_pEBuffer;
}

void base64Coder::AllocEncode(DWORD nSize)
{
if(m_nEBufLen < nSize)
{
if(m_pEBuffer != NULL)
delete [] m_pEBuffer;

m_nEBufLen = ROUNDTOPAGE(nSize);
m_pEBuffer = new BYTE[m_nEBufLen];
}

::ZeroMemory(m_pEBuffer m_nEBufLen);
m_nEDataLen = 0;
}

void base64Coder::AllocDecode(DWORD nSize)
{
if(m_nDBufLen < nSize)
{
if(m_pDBuffer != NULL)
delete [] m_pDBuffer;

m_nDBufLen = ROUNDTOPAGE(nSize);
m_pDBuffer = new BYTE[m_nDBufLen];
}

::ZeroMemory(m_pDBuffer m_nDBufLen);
m_nDDataLen = 0;
}

void base64Coder::SetEncodeBuffer(const PBYTE pBuffer DWORD nBufLen)
{
DWORD i = 0;

AllocEncode(nBufLen);
while(i < nBufLen)
{
if(!_IsBadMimeChar(pBuffer[i]))
{
m_pEBuffer[m_nEDataLen] = pBuffer[i];
m_nEDataLen++;
}

i++;
}
}

void base64Coder::SetDecodeBuffer(const PBYTE pBuffer DWORD nBufLen)
{
AllocDecode(nBufLen);
::CopyMemory(m_pDBuffer pBuffer nBufLen);
m_nDDataLen = nBufLen;
}

void base64Coder::Encode(const PBYTE pBuffer DWORD nBufLen)
{
SetDecodeBuffer(pBuffer nBufLen);
AllocEncode(nBufLen * 2);

TempBucket Raw;
DWORD nIndex = 0;

while((nIndex + 3) <= nBufLen)
{
Raw.Clear();
::CopyMemory(&Raw m_pDBuffer + nIndex 3);
Raw.nSize = 3;
_EncodeToBuffer(Raw m_pEBuffer + m_nEDataLen);
nIndex += 3;
m_nEDataLen += 4;
}

if(nBufLen > nIndex)
{
Raw.Clear();
Raw.nSize = (BYTE) (nBufLen - nIndex);
::CopyMemory(&Raw m_pDBuffer + nIndex nBufLen - nIndex);
_EncodeToBuffer(Raw m_pEBuffer + m_nEDataLen);
m_nEDataLen += 4;
}
}

void base64Coder::Encode(LPCTSTR szMessage)
{
if(szMessage != NULL)
base64Coder::Encode((const PBYTE)szMessage strlen(szMessage));
}

void base64Coder::De

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       6846  2007-06-02 14:56  C++日程安排软件\3rdParty\base64Coder.cpp

     文件       2106  2005-09-11 11:06  C++日程安排软件\3rdParty\base64Coder.h

     文件      10667  2008-01-31 15:25  C++日程安排软件\3rdParty\ColourPicker.cpp

     文件       3980  2006-11-16 18:01  C++日程安排软件\3rdParty\ColourPicker.h

     文件      30534  2007-06-29 16:03  C++日程安排软件\3rdParty\ColourPopup.cpp

     文件       4853  2007-06-29 15:45  C++日程安排软件\3rdParty\ColourPopup.h

     文件      10962  2008-01-06 18:24  C++日程安排软件\3rdParty\DragDrop.cpp

     文件       4839  2008-01-06 18:24  C++日程安排软件\3rdParty\DragDrop.h

     文件       2000  2006-01-06 19:13  C++日程安排软件\3rdParty\FIXALLOC.H

     文件       5702  2008-05-01 21:28  C++日程安排软件\3rdParty\FontComboBox.cpp

     文件       1412  2008-05-01 21:38  C++日程安排软件\3rdParty\FontComboBox.h

     文件       4860  2007-09-28 19:06  C++日程安排软件\3rdParty\GUI.CPP

     文件        250  2004-03-27 19:15  C++日程安排软件\3rdParty\GUI.H

     文件      33209  2008-01-26 19:03  C++日程安排软件\3rdParty\Ini.cpp

     文件      10081  2008-01-26 18:57  C++日程安排软件\3rdParty\Ini.h

     文件       2579  2005-02-12 11:55  C++日程安排软件\3rdParty\LockableHeaderCtrl.cpp

     文件        886  2005-02-12 11:29  C++日程安排软件\3rdParty\LockableHeaderCtrl.h

     文件       2849  2004-07-04 02:55  C++日程安排软件\3rdParty\MemUtil.cpp

     文件       2053  2004-07-04 02:55  C++日程安排软件\3rdParty\MemUtil.h

     文件      12632  2005-12-29 18:28  C++日程安排软件\3rdParty\myspell\affentry.cxx

     文件       2370  2003-06-12 11:37  C++日程安排软件\3rdParty\myspell\affentry.hxx

     文件      34900  2005-12-29 18:28  C++日程安排软件\3rdParty\myspell\affixmgr.cxx

     文件       2325  2004-03-09 13:41  C++日程安排软件\3rdParty\myspell\affixmgr.hxx

     文件        656  2004-02-04 13:57  C++日程安排软件\3rdParty\myspell\atypes.hxx

     文件        331  2003-03-26 14:02  C++日程安排软件\3rdParty\myspell\baseaffix.hxx

     文件      94402  2004-06-15 21:11  C++日程安排软件\3rdParty\myspell\csutil.cxx

     文件       1877  2004-03-09 13:41  C++日程安排软件\3rdParty\myspell\csutil.hxx

     文件       2985  2005-12-29 18:28  C++日程安排软件\3rdParty\myspell\dictmgr.cxx

     文件        469  2003-12-07 08:13  C++日程安排软件\3rdParty\myspell\dictmgr.hxx

     文件       4762  2005-12-29 18:28  C++日程安排软件\3rdParty\myspell\hashmgr.cxx

............此处省略517个文件信息

评论

共有 条评论