Понедельник, 18.12.2017, 19:23
Приветствую Вас, Гость
Главная » 2014 » Январь » 13 » Ограничения 0VERFL0W
11:00
Ограничения 0VERFL0W

Максимальное значение позиции в файле ограничивается размером типа o f f t.Большинство машинных архитектур определяют его как тип С long, размер которого в Linux всегда равен одному слову (обычно это размер регистров общегоназначения машины). Внутри, однако, ядро хранит смещения, используя тип Сlong. Это не создает никаких проблем на 64-разрядных машинах, но означает,что на 32-разрядных машинах при выполнении относительных операций поискамогут возникать ошибки E0VERFL0W.Значения ошибокВ случае успеха оба вызова возвращают число считанных или записанных байтов.Если pread() возвращает значение 0, то это указывает на условие EOF; еслиpwriteO возвращает значение 0, то этот вызов ничего не записал в файл. В случаеошибки оба вызова возвращают значение -1 и соответствующим образомустанавливают переменную еггпо. Вызов preadO может устанавливать любыезначения еггпо, допустимые для вызовов read() и lseekO. Вызов pwr ite( ) можетустанавливать любые значения, допустимые для wr ite ( ) и lseekO.Усечение _________файловLinux предоставляет два системных вызова, предназначенные для усеченияфайлов. Оба они определяются в разнообразных стандартах POSIX и являютсяв них обязательными (до той или иной степени). Определения этих вызовов:%23include <unistd.h>%23include <sys/types.h>int ftruncate (int fd. off_t Ten):иfinclude <un1std.h>finclude <sys/types.h>int truncate (const char *path, off t len);Оба системных вызова усекают указанный файл до длины len. Системныйвызов ftruncateO работает на дескрипторе файла, который передается припомощи аргумента fd, и этот дескриптор должен быть открытым для записи.Системный вызов truncateO работает на имени файла, который передаетсяв аргументе path, и указанный файл должен быть доступным для записи. Обавызова в случае успеха возвращают значение 0. Если происходит ошибка, тоони возвращают значение -1 и соответствующим образом устанавливают переменнуюеггпо.Чаще всего эти системные вызовы применяются для уменьшения длиныфайла. В случае успеха новая длина файла становится равной значению, котороесодержится в аргументе 1 еп. Данные, находившиеся между новым и старымконцом файла, удаляются, и к ним больше нельзя обратиться при помощи запросана чтение.
Магазины секс шоп.

Просмотров: 15665 | Добавил: admin | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: