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

📄 mergedlg.cpp

📁 日历算法日历算法日历算法日历算法日历算法日历算法日历算法日历算法日历算法日历算法日历算法日历算法
💻 CPP
字号:
// MergeDlg.cpp : implementation file
//

#include "stdafx.h"
#include "FileSeperator.h"
#include "MergeDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMergeDlg dialog


CMergeDlg::CMergeDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CMergeDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CMergeDlg)
	m_sFileName = _T("");
	//}}AFX_DATA_INIT
}


void CMergeDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CMergeDlg)
	DDX_Control(pDX, IDC_LIST1, m_list);
	DDX_Text(pDX, IDC_EDIT2, m_sFileName);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CMergeDlg, CDialog)
	//{{AFX_MSG_MAP(CMergeDlg)
	ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMergeDlg message handlers

void CMergeDlg::OnButton1() 
{
	CFileDialog dlg(TRUE);	
	if(dlg.DoModal() == IDOK)
	{
		m_list.AddString(dlg.GetPathName());
	}
}

void CMergeDlg::OnOK() 
{
	UpdateData(TRUE);
	if (m_sFileName.GetLength() == 0)
	{
		AfxMessageBox("请输入合并后的文件名称");
		return;
	}

	CFile mf;
	mf.Open(m_sFileName, CFile::modeReadWrite|CFile::modeCreate);

	for (int i = 0; i < m_list.GetCount(); i++)
	{
		CFile f;
		CString str;
		m_list.GetText(i,str);
		f.Open(str, CFile::modeRead);
		
		int iSize = f.GetLength();
		int iReadSize = 1024;
		char sContent[1024];
		int iNum = iSize/iReadSize;
		if (iSize%iReadSize != 0)
			iNum++;

		for (int j = 0; j < iNum-1; j++)
		{
			memset(sContent,0,iReadSize);
			f.Read(sContent,iReadSize);
			mf.Write(sContent,iReadSize);
		}

		memset(sContent,0,iReadSize);
		f.Read(sContent,iSize-iReadSize*(iNum-1));
		mf.Write(sContent,iSize-iReadSize*(iNum-1));
		f.Close();

	}
	mf.Close();

	AfxMessageBox("合并完成");
	CDialog::OnOK();
}

⌨️ 快捷键说明

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