| Статья :: Изменение размера файла |
400. Изменение размера файла
При работе с файлом может возникнуть
необходимость выделить для него большее
дисковое пространство или, наоборот, уменьшить
его размер. Для этого используется функция chsize:
#include <io.h>
int chsize (int handle, long size);
Параметр handle- идентификатор файла, возвращаемый
функциями open или creat. Параметр size задает
требуемый размер файла. При успешном выполнении
функция chsize возвращает 0. В случае ошибки chsize
возвращает -1 и присваивает глобальной
переменной еrrпо одно из следующих значений:
Константа Значение
EACCES Ошибка доступа к файлу
EBADF Неверный идентификатор файла
ENOSPC Недостаточно места (UNIX)
При расширении файла функция с/гяге заполняет
вновь выделенное место двоичными нулями.
Следующая программа CHSIZE.С создает файл 100ZEROS.DAT и
затем использует функцию chsize для заполнения
нулями первых 100 байтов файла:
#include <stdio.h>
#include <io.h>
#include <fcntl.h>
#include <sys\types.h>
#include <sys\stat.h>
void main(void)
{
int handle;
if ((handle = creat("100ZEROS.DAT", S_IWRITE)) == -1)
fprintf(stderr, "Ошибка при открытии файла"
"100ZEROS.DAT");
else
{
if (chsize(handle, 100L))
printf("Ошибка при изменении длины файла\n");
close(handle);
}
}
|
|
|