2016-06-27 13 views
-1

私は、Windowsディレクトリ(Windows 7)内のファイルの並べ替えに関していくつかの機能をプログラミングしています。 「 - 」ディレクトリ内のWindowsファイルの並べ替え

as.txt
a3s.txt

Windowsは、最初の場所に「as.txt」を入れていませんが:
ながらテストは、私はあなたが2つのファイルを持っている場合は、見つけましたASCIIコード45、 "3"はASCIIコード51です。

これはWindowsエクスプローラでのみ発生しますが、Windowsコマンドシェルでは発生しません。

これはなぜですか?

事前にどうもありがとう

EDIT:
これは重複問題ではありません。
他の投稿では、ファイル名に数字が含まれる状況について話します。しかし、ここでは、 "a_s.txt"と "a-s.txt"があるときにも問題が発生します。さらに、問題はWindows 7だけでなく、Windows Server 2003でも発生します。

+0

同じ答えです。エクスプローラは、ユーザーにとってより直観的であると考えられる非辞書的な並べ替えを使用します。それは数字だけでなく記号にも影響します。あなたの***プログラミング***の質問が何であるかは私には非常に不明です。これはちょうどWindowsエクスプローラを使用することに関する質問のように見えます。 –

答えて

1

これは仕様です。 MSFTは、Windowsエクスプローラのカスタム並べ替えアルゴリズムを使用して、ほとんどのユーザーにとってより直感的です。詳細および簡単な履歴については、this TechNet articleを参照してください。記事では、カスタムソートがサーバー2003

症状は異なりますが、根本的な原因がある「これは重複問題ではない」

の前身だったのWindows XP、始まったことが記載されています同じ。 Windowsエクスプローラでは辞書順ソートは使用されません。

+2

カスタムアルゴリズムかもしれませんが、Explorer独自のものではありません。エクスプローラは['StrCmpLogicalW'](https://msdn.microsoft.com/en-us/library/bb759947.aspx)関数を呼び出すので、アプリケーションも実行できます。 'CompareStringEx'関数にも同様のフラグがあります。これはより予測可能な振る舞いを持ち、複数のバージョンに依存することができます。 –

関連する問題