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

📄 emailfile.cpp

📁 linux 上http email 协议分析程序 主要能够处理大数据量的主干网的应用
💻 CPP
字号:
#include <stdio.h>
#include <Utility.h>

#include "EmailFile.h"
#include "Consts.h"
CemailFile::CemailFile()
{
	m_szfilebuffer =new char[EMAILFILE_BUF_SIZE];
	m_ioffsetfilebuffer=0;
	//initFile();
}

CemailFile::~CemailFile()
{
	delete m_szfilebuffer ;
}

char *CemailFile::getFileName()
{
	return m_szfilename;
}

int CemailFile::getFileSize()
{
	return (m_ifilesize);
	
}

void CemailFile::initFile()
{
	if(m_ioffsetfilebuffer>0)
		m_thecfa.close();
	m_ioffsetfilebuffer=0;
	strcpy(m_szfilename,EMAILFILE_ROOT);
	strcat(m_szfilename,TUTime::YYYYMMDDHHMMSS());
	strcat(m_szfilename,".email");

	m_thecfa.init(m_szfilename); 
	m_ifilesize=0;
	#ifdef DEBUG
		printf("init email file=[%s]\n",m_szfilename);
	#endif
}

int CemailFile::appFileBuffer(char *pszemail,int ilenemail ,int id)
{
	memcpy(m_szfilebuffer+m_ioffsetfilebuffer,FILE_PART_HEAD,strlen(FILE_PART_HEAD));
	m_ioffsetfilebuffer+=strlen(FILE_PART_HEAD);
	sprintf(m_szfilebuffer+m_ioffsetfilebuffer,"%09d",id);
	m_ioffsetfilebuffer+=9;
	memcpy(m_szfilebuffer+m_ioffsetfilebuffer,pszemail,ilenemail);
	m_ioffsetfilebuffer+=ilenemail;
	
	#ifdef DEBUG
		printf("buffer size=[%d]\n",m_ioffsetfilebuffer);
	#endif
	return m_ioffsetfilebuffer;

}

int CemailFile::saveFile()
{
	int ipartlen=0;
	ipartlen=m_thecfa.save(m_szfilebuffer, m_ioffsetfilebuffer);
	#ifdef DEBUG
		printf("save to email file [%d]\n",ipartlen);
	#endif
	m_ioffsetfilebuffer=0;
	//m_ifilesize=0;	
	m_ifilesize=m_thecfa.getStartPos();
	
	return ipartlen;
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -