【初心者歓迎】C/C++室 Ver.43【環境依存OK】

このエントリーをはてなブックマークに追加
586デフォルトの名無しさん
みっちゃん と入力しても みっちゃん が見つかりません。比較関数の書き方を教えて下さい。
#include <iostream>
#include <map>
#include <string>
class human{
private:
  std::string name;
  int age;
public:
  human(std::string name, int age){ this->name=name; this->age=age; }
  int getAge(void){ return age; }
  std::string getName(void){ return name; }
};

typedef std::map< char* , human > clsmap_t;

int main(void){
  clsmap_t clsmap;
  human yosida("吉田", 21), mitui("三井", 20);
  char buf[100];

  clsmap.insert(clsmap_t::value_type("よっちゃん", yosida));
  clsmap.insert(clsmap_t::value_type("みっちゃん", mitui));

  std::cout << "あだ名を入力して下さい : ";
  std::cin.getline(buf, sizeof(buf));

  clsmap_t::iterator n = clsmap.find(buf);
  if( n == clsmap.end() ) std::cout << buf << " not found." << std::endl;
  else std::cout << n->second.getName() << " " << n->second.getAge() << std::endl;
  return 0;
}