首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

在BCB里,向MAP 里写入了数据,接收的时候如何接收啊(新手有关问题。好心人帮帮忙)

2012-03-12 
在BCB里,向MAP 里写入了数据,接收的时候怎么接收啊?(新手问题。好心人帮帮忙)好心人帮帮忙,我刚刚接触这个,

在BCB里,向MAP 里写入了数据,接收的时候怎么接收啊?(新手问题。好心人帮帮忙)
 
好心人帮帮忙,我刚刚接触这个,好心人帮帮忙给把这段代码改对了呗。。。  

  map<string,int> m;
map<string,int>::iterator p;


  qry1->Close();
qry1->SQL->Clear();
qry1->SQL->Add("select fst,count(*) as cnt from tb_new group by fst");
qry1->Open();

while(!qry1->Eof)
{
  String str1=qry1->FieldByName("fst")->AsString;
  int x1=qry1->FieldByName("cnt")->AsInteger;
  //ShowMessage(str1);

  String STR = str1;
  string str = STR.c_str();


  m.insert(pair<string,int>(str,x1));

  qry1->Next();
  }
  for(p=m.begin();p!=m.end();p++)
  {

   
  ShowMessage(p->first);
  // ShowMessage(p->second);


  }

[解决办法]
ShowMessage只接受String,而p->first是string,要这样改一下:
ShowMessage(p->first.c_str());

String和string是不同的类,要小心,瞧你的

C/C++ code
  String STR = str1;  string str = STR.c_str(); 

热点排行
Bad Request.