2
我需要在目錄中找到最新創建/修改的文件。基本上什麼ls -t *.bla
做。在C,不是PHP的,所以這個問題並不能幫助我 - glob() - sort by date在C/linux中排序的glob
這是什麼都沒做榜樣(派生進程並不便宜,它的懶惰):
char filename[100];
FILE *f = popen("ls -1t /*.blabla");
fscanf(f, "%s", filename);
pclose(f);
?
由於所有'stat'調用,這也很昂貴。更好地設置一個'struct stat'/filename對的數組並對其進行排序。 –
好點:每個文件只有*一個*'stat()'調用! – alk
知道你只需要最後幾個修改過的文件(不需要對整個列表進行排序),你也可以使它更高效。不過,我們甚至不知道效率是否重要,所以這是一個很好的做法。請告訴我們qsort的定義在哪裏(我們需要什麼頭文件和庫?) –