2017-02-28 146 views

回答

2

Lexicographical ordering作品只在那就是信息尋找需要作出決定。在我們的例子中,信息是文件名中字符的ASCII值。請看下面的例子:

  • 如果我們有兩個文件的名稱10.txt2.txt,上市機制將比較1 ST字符這些文件,即12,並返回取最小,在這種情況下是屬於10.txt1

  • 相反,如果我們有2.txt20.txt,第一個字符是一樣的,所以下一個字符進行比較,要麼是.0。這裏,因爲.的ASCII值是46048,所以2.txt將首先返回。

你可以總是有你需要的文件名的最大位數,意味着解決這個問題:

0.txt --> 000.txt 
4.txt --> 004.txt 
25.txt --> 025.txt 
180.txt --> 180.txt 

然後文件將在預期的順序返回。

0

如果你對文件的順序和你已經知道他們的名字敏感,你不必使用dir都:

for ii=0:4:180 
    filename = sprintf('%d.txt', ii); 
    fid = fopen(fullfile('/path/to', filename), 'r'); 
    % ... do the processing here 
    fclose(fid); 
end