首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我不能用TCHAR[]找到map容器TCHAR*的键值吗?

我不能用TCHAR[]找到map容器TCHAR*的键值吗?
EN

Stack Overflow用户
提问于 2016-11-14 15:06:48
回答 1查看 146关注 0票数 0
代码语言:javascript
复制
#include<iostream>
#include<map>

using namesapce std;
void main()
{
   map<const TCHAR*, int> Map;
   Map.insert(make_pare(L"DOG1",1));
   Map.insert(make_pare(L"DOG2",2));

   TCHAR szTem[128];
   wsprintf(szTem,L"DOG%d",1);

   map<const TCHAR*, int>::iterator iter = Map.find(szTem);

   cout << iter->second << endl;
}

像这种情况一样,我无法使用TCHAR[]找到TCHAR* Keyvalue。为什么我不能这样做,以及如何使用包含整数公式的字符串找到指针字符串键值?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-14 15:09:57

您不能这样做,因为默认的map比较器会比较TCHAR指针,这当然是不同的。最好的方法是使用std::wstring代替。如果坚持使用TCHAR指针,则必须提供custom comparator

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40591859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档