【发布时间】:2011-03-10 07:07:17
【问题描述】:
我正在使用std::string 的find() 方法来测试一个字符串是否是另一个字符串的子字符串。现在我需要同一件事的不区分大小写的版本。对于字符串比较,我总是可以求助于stricmp(),但似乎没有stristr()。
我找到了各种答案,大多数人建议使用Boost,这在我的情况下不是一个选项。另外,我需要支持std::wstring/wchar_t。有什么想法吗?
【问题讨论】:
-
有一个关于这个主题的Gotw:gotw.ca/gotw/029.htm
-
stristr 不存在,但“char *strcasestr(const char *haystack, const char *needle);”有没有。这样不行吗?
-
@Nasir,
strcasestr在 Windows 下不可用。
标签: c++ string stl case-insensitive wstring