求助一个C++问题 不在乎大小写比较字符串
程序主要来自《C++ 标准程序库》
不在乎大小比较字符串
下面是我写的一个程序
#include <iostream>
#include <algorithm>
#include <iterator>
#include <map>
#include <set>
#include <string>
using namespace std;
class cmp
{
public:
bool operator()(const string &a, const string &b)
{
if( _stricmp(a.c_str(),b.c_str()) )
return 1;
else
return 0;
return 0;
}
};
int main()
{
typedef multimap<string,string> MulMap;
MulMap mmap;
mmap.insert(make_pair("Deutschland","Germany"));
mmap.insert(make_pair("deutsch","German"));
mmap.insert(make_pair("Haken","snag"));
mmap.insert(make_pair("arbeiten","work"));
mmap.insert(make_pair("Hund","dog"));
mmap.insert(make_pair("gehen","go"));
mmap.insert(make_pair("Unternehmen","enterprise"));
mmap.insert(make_pair("unternehmen","undertake"));
mmap.insert(make_pair("gehen","walk"));
mmap.insert(make_pair("Bestatter","undertaker"));
MulMap::iterator pos1;
for(pos1 = mmap.begin(); pos1 != mmap.end(); ++pos1)
cout << pos1->first << '\t' << pos1->second << endl;
cout << endl << endl;
multimap<string,string,cmp> temp(mmap.begin(),mmap.end());
multimap<string,string,cmp>::iterator pos2;
for(pos2 = temp.begin(); pos2 != temp.end(); ++pos2)
cout << pos2->first << '\t' << pos2->second << endl;
return 0;
}