Next: , Previous: Simple Directory Lister, Up: Accessing Directories

14.2.5 Random Access in a Directory Stream

This section describes how to reread parts of a directory that you have already read from an open directory stream. All the symbols are declared in the header file dirent.h.

— Function: void rewinddir (DIR *dirstream)

The rewinddir function is used to reinitialize the directory stream dirstream, so that if you call readdir it returns information about the first entry in the directory again. This function also notices if files have been added or removed to the directory since it was opened with opendir. (Entries for these files might or might not be returned by readdir if they were added or removed since you last called opendir or rewinddir.)

— Function: long int telldir (DIR *dirstream)

The telldir function returns the file position of the directory stream dirstream. You can use this value with seekdir to restore the directory stream to that position.

— Function: void seekdir (DIR *dirstream, long int pos)

The seekdir function sets the file position of the directory stream dirstream to pos. The value pos must be the result of a previous call to telldir on this particular stream; closing and reopening the directory can invalidate values returned by telldir.