资源简介
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
相关资源
- Deep Belief Nets in C++ and CUDA C Volume 2 Au
- C++获取计算机的CPU ID,硬盘序列号等
- C++头文件转delphi工具 + 源码
- 国际象棋的qt源代码
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- C语言课程设计
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- c语言电子商务系统
- VC++MFC小游戏实例教程(实例)+MFC类库
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- 商品库存管理系统 C++ MFC
- c++ 多功能计算器
- C++17 In Detail
- 嵌入式QtC++编程课件
- 颜色识别形状识别STM103嵌入式代码
- c++ 邮件多附件群发
评论
共有 条评论