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

ВИДЕОКУРС ВЗЛОМ
выпущен 10 декабря!


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

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



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

putw

 
 Функция            Помещает в поток целое значение.
 
 
 
 Синтаксис          #include <stdio.h>
 
                    int putw(int w, FILE *stream);
 
 
 
 Файл, содержащий   stdio.h
 
 прототип
 
 
 
 Описание           putw выводит   целое  в  указанный  поток.  Данная
 
                    функция  не  вызывает  и   не   ожидает   никакого
 
                    специального выравнивания в файле.
 
 
 
 Возвращаемое       При успешном завершении putw возвращает выведенное
 
 значение           целое w. При ошибке возвращает EOF.
 
 
 
                    Т.к. EOF  является допустимым целым значением,  то
 
                    для  определения  ошибки   нужно   воспользоваться
 
                    функцией ferror.
 
 
 
 Переносимость      функция поддерживается в системах UNIX.
 
 
 
 Смотрите также     getw, printf.
 
 
 
 Пример:
 
 
 
 #include<stdio.h>
 
 #include<stdlib.h>
 
 
 
 #define FNAME "test.$$$"
 
 
 
 int main(void)
 
 {
 
    FILE *fp;
 
    int word;
 
    /* записать в файл слово */
 
    fp = open(FNAME,"wb");
 
    if(fp==NULL)
 
    {
 
       printf("Ошибка при открытии файла\n");
 
       exit(1);
 
    }
 
    word = 94;
 
    putw(word,fp);
 
    if(ferror(fp))
 
       printf("Ошибка, при записи в файл\n");
 
    else
 
       printf("Успешная запись в файл\n");
 
    fclose(fp);
 
    /* повторное открытие файла */
 
    fp = fopen(FNAME,"rb");
 
    if(fp==NULL)
 
    {
 
       printf("Ошибка при открытии файла%s\n",FNAME);
 
       exit(1);
 
    }
 
    word = getw(fp);
 
    if(ferror(fp))
 
       printf("Ошибка, при чтении из файла\n");
 
    else
 
       printf("Успешное чтение в файле, word = %d\n",word);
 
    fclose(fp);
 
    unlink(FNAME);
 
    return 0;
 
 }
 
 


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

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




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



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


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