【发布时间】:2014-03-04 17:57:03
【问题描述】:
我有一个std::vector 和std::strings,每个都是一个文件名。假设文件名的格式为some_name_n.xyz。
问题是some_name_10.xyz 小于some_name_2.xyz。这些文件是由其他一些进程生成的。
对它们进行排序以便考虑比较“_”之后的数字而不仅仅是其长度的最痛苦的方法是什么?
【问题讨论】:
-
您可以简单地将它们重命名为
'_%04d'。 -
编写自己的比较器函子并将其传递给排序?
-
为什么
without using default algorithm?什么default algorithm? -
查看以下答案以获取参考。
-
@Manu343726:这根本不是重复的......它需要对正在排序的结构中的特定字段进行正常的“