Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 1 марта!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Возможности языков семейства Си по истине безграничны, однако, в этой свободе кроются и недостатки: всегда нужно программисту держать ухо востро и контроллировать "переполнение буфера", чтобы потом программа не вылетала в "синий экран" на массе разнообразных версий Windows и железа у пользователей. Те же крэкеры и реверсеры специально ищут в коде программ на Си уязвимости, куда можно подсадить любой вирусный код, об этом более подробно автор рассказывал в своём видеокурсе здесь. Я там многое узнал и теперь мой код стал значительно более безопасный.

chsize

 
 Функция            Изменяет размер файла.
 
 
 
 Синтаксис          #include<io.h>
 
                    int chsize(int handle, long size);
 
 
 
 Файл, содержащий   io.h
 
 прототип
 
 
 
 Описание           chsize изменяет размер файла, связанного с
 
                    дескриптором handle.  Она   может   уменьшить   или
 
                    увеличить  файл относительно его начального размера
 
                    в зависимости от значения аргумента size.
 
 
 
                    Режим, в котором  открывается  файл,  должен  иметь
 
                    разрешение на запись.
 
 
 
                    Если chsize    увеличивает    файл,   то   к   нему
 
                    присоединяются  нулевые  символы  (\0).  Если  файл
 
                    уменьшается,  то  данные  за  новым признаком конца
 
                    файла теряются.
 
 
 
 Возвращаемое       При успешном завершении chsize возвращает 0. При
 
 значение           ошибке возвращается -1, а переменной errno
 
                    присваивается одно из следующих значений:
 
 
 
                      EACCES - Отказ доступа.
 
                      EBADF  - Неверный номер файла.
 
                      ENOSPC - UNIX - не для DOS.
 
 
 
 Переносимость      chsize уникальна для DOS.
 
 
 
 Смотрите также     close, _creat, creat, open.
 
 
 
 Пример:
 
 
 
 #include<string.h>
 
 #include<fcntl.h>
 
 #include<io.h>
 
 
 
 int main(void)
 
 {
 
    int handle;
 
    char buf[11] = "0123456789";
 
    /* создать текстовый файл из 10 байт */
 
    handle = open("DUMMY.FIL",O_CREAT);
 
    write(handle,buf,strlen(buf));
 
    /* обрезать файл до 5 байт */
 
    chsize(handle,5);
 
    /* закрыть файл */
 
    close(handle);
 
    return 0;
 
 }

<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS