Server for Information Technologies ������ ��������������
������� �������������� ����������
(095) 932-9212, 932-9213, 939-0783
E-mail: [email protected]
������ �������� ����(!) ������������� ���������� CIT Forum CD-ROM

DIRECTORY(3X)

��������
directory: opendir, readdir, telldir, seekdir, rewinddir, closedir - �������� ��� ����������

���������

	#include <sys/types.h>
	#include <dirent.h>
	
	DIR *opendir (filename)
	char *filename;
	
	struct dirent *readdir (dirp)
	DIR *dirp;
	
	long telldir (dirp)
	DIR *dirp;
	
	void seekdir (dirp, loc)
	DIR *dirp;
	long loc;
	
	void rewinddir (dirp)
	DIR *dirp;
	
	void closedir (dirp)
	DIR *dirp;

��������
������� opendir ��������� ������� � ������ filename � ��������� � ��� ����� ��������. Opendir ���������� � �������� ���������� ���������, ������� ������������ � ����������� ��������� ��� ������������� ������ ��������. ������ ��������� ������������, ���� ���� filename �� �������� ��� �� �������� ���������, ����, ���� ������� malloc(1M) �� ����� �������� ������������ �� ��� ������ ��� ��������� ���� DIR ��� ��� �������.

������� readdir ������ ��������� �� ��������� �������� ������� ��������. ��������� �� ���������� �������� �������� �� ��������. ��� ���������� ����� �������� ��� ��� ��������� ������������ ������� � �������� ������������ ������ ���������.

������� telldir ������ ������� ������� � ��������� ������ ��������.

������� seekdir ������������� ������� ��� ����������� �������� readdir ��� ������� ��������. ������ ������� ��������� � ���, ������� ���� �������� � ���������� ���������� �������� telldir, ����������� loc. ��������, ������� ���������� telldir, ��������� ������ � ��� ������, ���� ������� �� �������� � �� ����������. ����� �������� �� ��������� � ������ ������ 5, �� ����� ���������� ��� ��������� ������ ����� �������� ������.

�������� rewinddir ����������������� � ������ ������� � ��������� ������ ��������.

�������� closedir ��������� ��������� ����� �������� � ����������� ��������� DIR.

��� ���������� ������������� �������� ����� ���������� ��������� ������:

opendir:
[ENOTDIR] ��������� ����������� ����� filename �� �������� ���������.
[EACCES] ��� ���������� ����������� ����� filename ����������� ����� �� �����.
[EMFILE] ����� ��������� ����������� ���������� ����� ���������� ������.
[EFAULT] �������� filename ��������� �� ������� ����������� �������� ��������� ������������.

readdir:
[ENOENT] ������� ������� �������� �� ������������� ����������� ��������.
[EBADF] ��������� �����, ������������ ���������� dirp, � ������ ������ �����������. ��������� ������� - ����� ��� ������.
telldir, seekdir � closedir:
[EBADF] ��������� �����, ������������ ���������� dirp, � ������ ������ �����������. ��������� ������� - ����� ��� ������.

������
�������� �������� ��������� ��� ������ � �������� �������� name:

     dirp = opendir (".");
     while ((dp = readdir (dirp)) != NULL)
       if (strcmp (dp->d_name, name) == 0) {
         closedir (dirp);
         return FOUND;
       }
     closedir (dirp);
     return NOT_FOUND;

��. �����
getdents(2), dirent(4).

���������������
Rewinddir ���������� ��� ������, ������� � ���� ������ ��������� �������� ���������� ������ �������.
Comments: [email protected]
Designed by Andrey Novikov
Copyright © CIT