Caution: This version of this document is no longer maintained. For the latest documentation, see


Set the position for the next read of the directory stream


#include <dirent.h>

void seekdir( DIR * dirp,
              long int pos );


A pointer to the directory stream, for which you want to set the current location.
The new position for the directory stream. You should have obtained this value from an earlier call to telldir().



Use the -l c option to qcc to link against this library. This library is usually included automatically.


The seekdir() function sets the position of the next readdir() operation on the directory stream specified by dirp to the position specified by pos.

The new position reverts to the one associated with the directory stream when the telldir() operation was performed.

Values returned by telldir() are good only for the lifetime of the DIR pointer, dirp, from which they're derived. If the directory is closed and then reopened, the telldir() value may be invalidated due to undetected directory compaction. It's safe to use a previous telldir() value immediately after a call to opendir() and before any calls to readdir().


POSIX 1003.1 XSI

Cancellation point Yes
Interrupt handler No
Signal handler No
Thread No

See also:

closedir(), errno, lstat(), opendir(), readdir(), readdir_r(), rewinddir(), telldir(), stat()