TELLDIR(3) | Руководство программиста Linux | TELLDIR(3) |
ИМЯ¶
telldir - возвращает текущее положение в потоке каталога
СИНТАКСИС¶
#include <dirent.h>
long telldir(DIR *dirp);
Требования
макроса
тестирования
свойств
для glibc (см.
feature_test_macros(7)):
telldir():
_XOPEN_SOURCE
|| /* начиная с glibc
2.19: */ _DEFAULT_SOURCE
|| /* в версиях glibc
<= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
ОПИСАНИЕ¶
Функция telldir() возвращает текущее положение, связанное с потоком каталога dirp.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ¶
При успешном выполнении функция telldir() возвращает текущее расположение в потоке каталога. В случае ошибки возвращается -1, и устанавливается соответствующее значение errno.
ОШИБКИ¶
- EBADF
- Неверный дескриптор потока каталога dirp.
АТРИБУТЫ¶
Описание терминов данного раздела смотрите в attributes(7).
Интерфейс | Атрибут | Значение |
telldir() | Безвредность в нитях | MT-Safe |
СООТВЕТСТВИЕ СТАНДАРТАМ¶
POSIX.1-2001, POSIX.1-2008, 4.3BSD.
ЗАМЕЧАНИЯ¶
В glibc до версии 2.1.1, тип возвращаемого значения telldir() был равен off_t. В POSIX.1-2001 указан тип long, и это стало используемым типом в glibc начиная с версии 2.1.2.
В старых файловых системах возвращаемое telldir() значение было просто файловым смещением в каталоге. В современных файловых системах для представления каталогов используются структуры деревьев или хэшей, а не плоские таблицы. В таких файловых системах значение, возвращаемое telldir() (и используемое внутри readdir(3)) — некая «подсказка», которая используется реализацией для получения позиции в каталоге. Прикладные программы должны считать это значение «чёрным ящиком» и не делать предположений о его содержимом.
СМ. ТАКЖЕ¶
closedir(3), opendir(3), readdir(3), rewinddir(3), scandir(3), seekdir(3)
ЗАМЕЧАНИЯ¶
Эта страница является частью проекта Linux man-pages версии 4.16. Описание проекта, информацию об ошибках и последнюю версию этой страницы можно найти по адресу https://www.kernel.org/doc/man-pages/.
ПЕРЕВОД¶
Русский перевод этой страницы руководства был сделан Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>
Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.
Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.
15 сентября 2017 г. |