目录中的windows文件排序
我正在编写一些有关在windows目录(windows 7)中对文件进行排序的函数。目录中的windows文件排序,windows,sorting,Windows,Sorting,我正在编写一些有关在windows目录(windows 7)中对文件进行排序的函数。 测试时我发现,如果您有两个文件: a3s.txt a-s.txt Windows不会将“a-s.txt”放在第一位,尽管“-”表示ASCII代码45,“3”表示ASCII代码51 这只发生在windows资源管理器中,而不会发生在windows命令shell中 为什么会这样 提前多谢 编辑: 这不是重复的问题。 在其他帖子中,他们讨论了文件名包含数字的情况。但在这里,当您有“a_.txt”和“a-s.txt”时
测试时我发现,如果您有两个文件: a3s.txt
a-s.txt Windows不会将“a-s.txt”放在第一位,尽管“-”表示ASCII代码45,“3”表示ASCII代码51 这只发生在windows资源管理器中,而不会发生在windows命令shell中 为什么会这样 提前多谢 编辑:
这不是重复的问题。
在其他帖子中,他们讨论了文件名包含数字的情况。但在这里,当您有“a_.txt”和“a-s.txt”时,问题也会发生。此外,这个问题不仅发生在Windows 7上,而且也发生在Windows Server 2003上。这是出于设计考虑。MSFT在Windows资源管理器中使用自定义排序算法,他们认为这对大多数用户来说更直观。有关更多信息和简要历史记录,请参阅。本文描述了自定义排序始于WindowsXP,它是Server2003的前身 “这不是重复的问题”
症状不同,但根本原因相同。Windows资源管理器不使用字典排序。它可能是一种自定义算法,但不是资源管理器的专有或唯一算法。Explorer调用该函数,应用程序也可以调用。
CompareStringEx
函数也有类似的标志,该函数具有更可预测的行为,可以跨多个版本依赖。答案相同。Explorer使用非词典排序,这被认为对用户更直观。这不仅影响数字,也影响符号。我不清楚你的编程问题是什么。这看起来像是一个关于使用Windows资源管理器的问题,这在这里是离题的。