请问在std::string中如何compareNoCase?

tlovexyj 2002-04-23 09:46:47
使用string时,发现只有compare,如果要compareNoCase,应该如何?
...全文
1043 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
babysloth 2002-04-23
  • 打赏
  • 举报
回复
string的字符大小比较功能都来自第2个(char_traits)模板参数,anrxhzh(百宝箱)给出的那个地址,是The C++ Standard Library的作者Josuttis提的方法,个人感觉非常好。
tlovexyj 2002-04-23
  • 打赏
  • 举报
回复
也就是说string并无实现CompareNoCase。
小弟意思是怕自己孤漏寡闻,窃以为楼上的兄台的实现比较cool。

放一放,晚上给分。

谢谢各位大虾。
pathe 2002-04-23
  • 打赏
  • 举报
回复
就是就是
using namespace std;
class NoCase
{
public:
static bool compare(const wstring& x, const wstring& y);
};
bool NoCase::compare (const wstring& x, const wstring& y)
{
wstring::const_iterator p = x.begin();
wstring::const_iterator q = y.begin();
while (p != x.end() && q != y.end() && toupper(*p) == toupper(*q))
{
++p;
++q;
}
if (p == x.end())
{
return (q == y.end());
}
if (q == y.end())
{
return false;
}
return (toupper(*p) < toupper(*q));
}
huangwu007 2002-04-23
  • 打赏
  • 举报
回复
自己做一个忽略大小写的函数不就可以了,方法如 Nepton(小牛牛) :-)
Nepton 2002-04-23
  • 打赏
  • 举报
回复
1.让两个字符串全大写
2.比较
anrxhzh 2002-04-23
  • 打赏
  • 举报
回复
http://www.josuttis.com/libbook/string/icstring.hpp.html

69,370

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧