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

ВИДЕОКУРС ВЗЛОМ
выпущен 2 августа!


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

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



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

eof

 
 Функция            Определяет, достигнут ли конец файла.
 
 
 
 Синтаксис          #include<io.h>
 
                    int eof(int handle);
 
 
 
 Файл, содержащий   io.h
 
 прототип
 
 
 
 Описание           Функция eof  определяет,  достигнут ли конец файла,
 
                    связанного с дескриптором handle.
 
 
 
 Возвращаемое       Если текущая позиция является концом файла, функ-
 
 значение           ция eof возвращает значение 1; в противном случае
 
                    значение 0.  При  возникновении ошибки возвращается
 
                    значение -1, и глобальная переменная errno получает
 
                    значение:
 
 
 
                      EBADF - Неверный номер файла.
 
 
 
 Переносимость      eof уникальна для DOS.
 
 
 
 Смотрите также     clearerr, feof, ferror, perror.
 
 
 
 Пример:
 
 
 
 #include<process.h>
 
 #include<string.h>
 
 #include<stdio.h>
 
 #include<io.h>
 
 
 
 int main(void)
 
 {
 
    FILE *temp_file;
 
    int handle;
 
    char msg[] = "Тестовый пример";
 
    char ch;
 
    /* создать уникальный временный файл */
 
    if((temp_file=tmpfile()) == NULL)
 
    {
 
       perror("Открытие файла:");
 
       exit(1);
 
    }
 
    /* получить дескриптор данного файла */
 
    handle = fileno(temp_file);
 
    /* записать в файл данные */
 
    write(handle,msg,strlen(msg));
 
    /* переместить указатель в начало файла */
 
    lseek(handle,0l,SEEK_SET);
 
    /* считывать данные до появления конца файла */
 
    do
 
    {
 
       read(handle,&ch,1);
 
       printf("%c",ch);
 
    } while(!eof(handle);
 
 
 
    /* закрыть временный файл */
 
    fclose(temp_file);
 
    return 0;
 
 }

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

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




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



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


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