#include <afx.h>
#include <map>
#include <shlwapi.h>
#include <string>
int wmain(int argc, wchar_t *argv[ ], wchar_t *envp[ ])
{
std::map<CString,int>singel_map;
CStdioFile File;
File.Open(argv[1],CFile::modeReadWrite);
wchar_t Mask[4];
CString ReadLine;
File.Read(Mask,2);
File.ReadString(ReadLine);
while (ReadLine.GetLength())
{
++singel_map[ReadLine];
File.ReadString(ReadLine);
}
std::map<CString,int>::iterator it=singel_map.begin();
while(it!=singel_map.end())
{
ReadLine=it->first;
File.Write(ReadLine.GetBuffer(0),it->first.GetLength()*2);
File.Write(_T("\r\n"),4);
it++;
}
File.Close();
return 1;
}
Map在处理类似字典问题实在是太好用了,不过在使用过程中发现一个问题
it->first.GetBuffer(0)连续使用会出错,不知道什么原因,但是单独分开使用就没有问题。
对于 map 容器,如果下标所表示的键在容器中不存在,则