void CFileSeparationDlg::OnBnClickedSelecttxt()
{
CString strFile = _T("");
CFileDialog dlgFile(TRUE, NULL, NULL, OFN_HIDEREADONLY, _T("Describe Files (*.txt)|*.txt|All Files (*.*)|*.*||"), NULL);
if (dlgFile.DoModal())
{
strFile = dlgFile.GetPathName();
}
SetDlgItemText(IDC_EDIT4, strFile);
}
void CFileSeparationDlg::OnBnClickedStatistictxt()
{
CString m_SavePath;
GetDlgItemText(IDC_EDIT4, m_TxtPath);
CString temp;
string str;
int d;
vector<CString>Time;
map<CString, int>Relation;
map<CString, int>::iterator iter;
int nRet;
int curNum=0;
CStdioFile file;
CFile file2;
m_SavePath = m_TxtPath.Mid(0, m_TxtPath.Find(_T("."))) + _T("NumStatistic.txt");
if (m_TxtPath=="")
{
MessageBox(_T("请先选择文件"));
}
else
{
file.Open(m_TxtPath, CFile::modeRead);
std::vector<CString> vecResult;
CString strValue = _T("");
while (file.ReadString(strValue))
{
vecResult.push_back(strValue);
}
file.Close();
for (int j = 0; j < vecResult.size(); j++)
{
str = CT2A(vecResult.at(j).GetBuffer(0));
d = str.rfind(":");
temp= vecResult.at(j).Mid(d - 5, 8);
nRet = std::count(Time.begin(), Time.end(), temp);
if (nRet == 0)
{
Time.push_back(temp);
curNum++;
}
else
{
curNum++;
}
if (Relation.find(temp) == Relation.end())
{
Relation.insert(make_pair(temp, curNum));
curNum = 0;
}
}
file2.Open(m_SavePath, CFile::modeCreate | CFile::modeReadWrite);
CString sec;
for (iter = Relation.begin(); iter != Relation.end(); iter++)
{
sec.Format(_T("%d"), iter->second);
WORD unicode = 0xFEFF;
file2.Write(&unicode, 2);
file2.Write(iter->first, wcslen(iter->first) * sizeof(wchar_t));
file2.Write(_T("的图片数量为:"), wcslen(_T("的图片数量为:")) * sizeof(wchar_t));
file2.Write(sec, wcslen(sec) * sizeof(wchar_t));
file2.Write(_T("\n"), 2);
}
file2.Close();
MessageBox(_T("统计完成,请查看") + m_SavePath);
}
}