与更改的字符排序的字符串比较

时间:2011-03-10 21:35:06

标签: c++ c string comparison

当字符()出现在字母数字字符后面时,您如何比较字符串?我是否必须编写函数或是否有可用的库函数?

感谢您的回答!

4 个答案:

答案 0 :(得分:2)

您可以将std::lexicographical_compare与自定义谓词一起使用。该谓词应该采用2个字符,如果第一个字符应该在第二个字符之前,则返回false。

答案 1 :(得分:1)

没有内置方法可以做到这一点。你必须编写自己的比较函数/函子。我相信你可以用字符特征来实现它,这样operator<仍然有用,但你不再使用std::string了。

答案 2 :(得分:1)

  1. 复制要与临时字符串进行比较的两个字符串
  2. 在这两个字符串中,将()替换为您正在使用的特定编码中的字母数字字符之后的字符
  3. 将操纵结果与标准库比较功能进行比较
  4. 使用函数的结果并处理被操纵的字符串
  5. 例如,()位于ASCII之前的字母数字字符之前,但{}来之后!

答案 3 :(得分:0)

某些环境提供了自定义归类序列,但一般来说,您必须自己编写。