What is the order when calling a directory?

2 ビュー (過去 30 日間)
Zeynab Mousavikhamene
Zeynab Mousavikhamene 2019 年 10 月 14 日
編集済み: Walter Roberson 2019 年 10 月 14 日
I call a directory which is a folder cotaining several files and then I use for loop to do specific calculatuions on each file in that folder.
I wanted to know in what order does matlab parse each of those files (by alphabette?size?)? and can user detremine the order?
  1 件のコメント
Rik
Rik 2019 年 10 月 14 日
You mean the output order for dir? For uigetdir?

サインインしてコメントする。

採用された回答

Walter Roberson
Walter Roberson 2019 年 10 月 14 日
編集済み: Walter Roberson 2019 年 10 月 14 日
MATLAB uses whatever order is returned by the operating system.
It happens that in MS Windows, and MacOS, and Linux, that the operating system does not impose an order. Instead, the operating system leaves it up to the file system driver, so the order for NTFS could be different than the order for FAT16 for example.
I have not found any documentation on the order used by NTFS. In practice it appears to sort either by byte code representation of the name or else by unicode code point. Apple's HFS+ has an ordering based upon "fully decomposed canonical representation" in theory but in practice the ordering apparently has some bugs. Most of the Linux file systems do not define an order, and I recently encountered a claim that one of the Linux file systems sorts according to a hash of a file name.
The user has no control over the order in any of the operating systems.
You might want to look in the File Exchange for "natural filename sort".

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeFile Operations についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by