资源简介
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\ba
文件 2106 2005-09-11 11:06 C++日程安排软件\3rdParty\ba
文件 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\ba
文件 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个文件信息
- 上一篇:c++可视化学生选课系统
- 下一篇:VS打开VC6.0所需libcd.lib
相关资源
- c++可视化学生选课系统
- Microsoft Visual C++ 2005 SP1 Redistributable
- c++ 数据结构 哈夫曼压缩&解压软件 控
- 基于Qt的智能停车场.rar
- 小型公司工资管理系统设计.rar
- 单片机交通灯课程设计.zip
- 课程设计--C语言学生成绩管理系统内
- 基于TCP协议的C/S传输文件C++)
- C++MFC数据库职工信息管理系统,实现
- C++ Concurrency in Action 2nd Edition (2019.
- Microsoft Visual C++ 2010 SP1 Redistributable
- funcode 黄金矿工 c++语言
- QT实现视音频实时传输qml+C++
- VC++6.0编程实现MIF文件点集读取与凸壳
- [C++程序设计基础第5版上][周霭如林伟
- C++时钟easyx实现
- 网络编程MFC 实验四 FTP客户端功能实现
- Labview调用C++ dll之字符串数组传递
- C++作业_选课系统
- c++大学课程设计——家教信息系统
- DES算法C++实现.rar
- Microsoft visual c++ 14.0.rar
- 24点游戏:c++版
- C++商品管理系统50页报告+源码。代码
- C++ 图像处理283241
- 校招面试题库附答案与解析C+++篇.ra
- 传智播客C++进阶课程讲义 传智扫地僧
- C++写太阳/月球坐标计算,在地固坐标
- VC++ 人脸识别定位、眼睛、嘴巴和鼻识
- C++ Concurrency in Action中文PDF
评论
共有 条评论