ВУЗ:
Составители:
4
Если при компиляции был установлен флаг _FILE_OFFSET_BITS == 64, вместо
функции вызывается truncate64.
При успешном выполнении возвращаемое значение равно 0, в противном
случае возвращается –1, а переменная errno принимает одно из следующих значений:
EACCES Файл не доступен пользователю;
EINVAL Значение LENGTH недопустимо;
EISDIR Файл является каталогом;
ENOENT Файл не существует;
ENOTDIR Каталог, заданный в пути файла NAME не существует.
int truncate64 (const char *NAME, off64_t LENGTH)
Функция идентична truncate, за исключением того, что работает с 64-битными
файлами.
int ftruncate (int FD, off_t LENGTH)
Функция идентична truncate за исключением того, что вместо имени файла
передается дескриптор уже открытого файла. Файл должен быть открыт на чтение.
Если при компиляции был установлен флаг _FILE_OFFSET_BITS == 64, вместо
ftruncate вызывается ftruncate64.
В случае успешного выполнения возвращаемое значение равно 0, в противном
случае возвращается –1. Переменная errno может принимать одно из следующих
значений:
EBADF FD не является дескриптором файла или файл не был открыт на запись;
EINVAL Объект, указанный дескриптором не допускает выполнения такой
операции;
EROFS Файл расположен в файловой системе, предназначенной только для
чтения.
int ftruncate64 (int ID, off64_t LENGTH)
Функция идентична ftruncate за исключением того, что она работает с 64-
битными файлами.
Ввод и вывод
Следующие функции и структуры данных описаны в заголовочном файле
<unistd.h>.
ssize_t
Этот тип данных указывает размер блоков, которые могут быть считаны или
записаны за одну операцию. Он равен типу size_t, однако должен быть только
положительным.
ssize_t read (int FILEDES, void *BUFFER, size_t SIZE)
Функция считывает до SIZE байтов из файла, задаваемого дескриптором
FILEDES и сохраняет результат в буфер BUFFER. Функция возвращает количество
реально считанных байтов. Это значение может быть меньше, чем SIZE, например, в
том случае, если размер файла меньше, чем SIZE. Нулевое количество считанных
байтов означает конец файла. Значения, большие или равные 0, не являются
ошибочными. В случае ошибки функция возвращает –1. Переменная errno может
принимать следующие значения:
EAGAIN В случае, если файл не имеет каких-либо данных для чтения, функция
ожидает от записывающего процесса поступающих данных. Если был
установлен флаг O_NONBLOCK, функция возвращает управление
программе немедленно, а код ошибки принимает такое значение;
EBADF Аргумент FILEDES не является дескриптором файла или файл не
открыт для чтения;
EINTR Выполнение функции было прервано поступившим сигналом;
Если при компиляции был установлен флаг _FILE_OFFSET_BITS == 64, вместо функции вызывается truncate64. При успешном выполнении возвращаемое значение равно 0, в противном случае возвращается –1, а переменная errno принимает одно из следующих значений: EACCES Файл не доступен пользователю; EINVAL Значение LENGTH недопустимо; EISDIR Файл является каталогом; ENOENT Файл не существует; ENOTDIR Каталог, заданный в пути файла NAME не существует. int truncate64 (const char *NAME, off64_t LENGTH) Функция идентична truncate, за исключением того, что работает с 64-битными файлами. int ftruncate (int FD, off_t LENGTH) Функция идентична truncate за исключением того, что вместо имени файла передается дескриптор уже открытого файла. Файл должен быть открыт на чтение. Если при компиляции был установлен флаг _FILE_OFFSET_BITS == 64, вместо ftruncate вызывается ftruncate64. В случае успешного выполнения возвращаемое значение равно 0, в противном случае возвращается –1. Переменная errno может принимать одно из следующих значений: EBADF FD не является дескриптором файла или файл не был открыт на запись; EINVAL Объект, указанный дескриптором не допускает выполнения такой операции; EROFS Файл расположен в файловой системе, предназначенной только для чтения. int ftruncate64 (int ID, off64_t LENGTH) Функция идентична ftruncate за исключением того, что она работает с 64- битными файлами. Ввод и вывод Следующие функции и структуры данных описаны в заголовочном файле. ssize_t Этот тип данных указывает размер блоков, которые могут быть считаны или записаны за одну операцию. Он равен типу size_t, однако должен быть только положительным. ssize_t read (int FILEDES, void *BUFFER, size_t SIZE) Функция считывает до SIZE байтов из файла, задаваемого дескриптором FILEDES и сохраняет результат в буфер BUFFER. Функция возвращает количество реально считанных байтов. Это значение может быть меньше, чем SIZE, например, в том случае, если размер файла меньше, чем SIZE. Нулевое количество считанных байтов означает конец файла. Значения, большие или равные 0, не являются ошибочными. В случае ошибки функция возвращает –1. Переменная errno может принимать следующие значения: EAGAIN В случае, если файл не имеет каких-либо данных для чтения, функция ожидает от записывающего процесса поступающих данных. Если был установлен флаг O_NONBLOCK, функция возвращает управление программе немедленно, а код ошибки принимает такое значение; EBADF Аргумент FILEDES не является дескриптором файла или файл не открыт для чтения; EINTR Выполнение функции было прервано поступившим сигналом; 4
Страницы
- « первая
- ‹ предыдущая
- …
- 2
- 3
- 4
- 5
- 6
- …
- следующая ›
- последняя »