Ich kann eine Verzeichnisliste wie folgt anzeigen:
%Vor% Kann ich den ReadDir
Iterator vor der Iteration sortieren? Die Verzeichnisnamen sind datumsähnliche Zahlen wie 201610131503
. Ich lese die Dokumentation für ReadDir
, aber ich habe keine eingebaute Funktion gefunden dafür. Vielleicht kann ich nicht suchen?
ReadDir
liest nur jeweils einen Eintrag, so dass er vor dem Iterieren nicht sortiert werden kann. Es gibt keinen sortierten readdir
Systemaufruf (zumindest nicht auf den Plattformen, die ich kenne, was bedeutet, dass es keinen tragbaren geben kann).
Also ist die einzige Möglichkeit, in Vec
zu lesen und dort zu sortieren:
Kann ich den
ReadDir
Iterator vor der Iteration sortieren?
Grundsätzlich nein. Auf Mac OS und Linux die Funktion readdir_r
wird verwendet . Diese Rückgabe erfolgt nicht in einer bestimmten Reihenfolge . Im Allgemeinen wird es in der Reihenfolge zurückgegeben, die für das Dateisystem am schnellsten / am einfachsten ist, wobei sich bei jedem Aufruf ändern kann.
Sie müssen die Elemente sammeln, sortieren und dann erneut ausführen.