Search code examples
creaddir

Does readdir() guarantee an order?


I'm getting a list of files on a linux-like system using opendir/readdir. It appears that the directory entries are returned in alphabetical order of file name. However, I don't see anything in the man pages about this order being guaranteed.

Can anyone tell me whether or not readdir guarrantees an order?


Solution

  • The readdir method doesn't guarantee any ordering. If you want to ensure they are sorted alphabetically you'll need to do so yourself.

    Note: I searched for a bit for definitive documentation saying this is the case. The closest I came is the following link

    It's by no means definitive but it does give a nice overview of the command, its history and how its implementation is typically traversal order.