Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 11639
Последний выпуск: 19.06.2015

setvbuf

[ Оглавление ]
               SETVBUF
         
         
            #include <stdio.h>
            
            int setvbuf(stream, buf, type, size);
           
            FILE *stream;      указатель на структуру FILE
            char *buf;         буфер, назначенный пользователем.
            int type           тип буфера:
                                   _IONBF - нет буфера;
                                   _IOFBF - полная буферизация;
                                   _IOLBF - строковая буферизация.
            int size;          размер буфера.
            
               Описание.
            
               Функция  setvbuf позволяет пользователю управлять буфериза-
         цией и размером буфера для потока stream. Stream может  ссылаться
         на  открытый файл. Массив, на который указывает buf, используется
         как буфер, если он не является NULL, т.е. поток не является буфе-
         ризованным. Если поток буферизованный, используется тип,  опреде-
         ленный по type; этот тип может быть либо _IONBF, либо _IOFBF, ли-
         бо  _IOLBF. Если используется тип _IOFBF, размер буфера определя-
         ется по size; если используется тип _IOLBF или _IONBF, поток  яв-
         ляется небуферизованным, а size и buf игнорируются.
            
            ЗНАЧЕНИЕ ТИПА              ЕГО СМЫСЛ
            
            _IONBF             Буфер не используется, несмотря  на
                               присутствие size и buf
            
            _IOFBF             Полная буферизация, если buf не яв-
                               ляется  NULL;  поэтому  buf исполь-
                               зуется в качестве буфера, а  size -
                               его размера
            
            _IOLBF             Аналогично _IOFBF
            
               Истинное  значение  size  обычно больше 0, но меньше макси-
         мального целого размера.
            
               Возвращаемое значение.
            
               Эта функция возвращает ненулевое  значение,  если  тип  или
         размер буфера неправильно определен, и возвращает значение 0, ес-
         ли все определено верно.
               См. также setbuf, fflush, fopen, fclose.
            
           
               Пример:
            
            #include <stdio.h>
            
            char buf[1024];
           
            FILE *stream1, *stream2;
            
         
            main()
            
            {
            stream1 = fopen("data1", "r");
            stream2 = fopen("data2", "w");
            
               /*  Stream1  будет использовать буфер размером 1024 байта и
         назначенный пользователем, а stream2 является небуферизованным */
            
            if (setvbuf(stream1, buf, _IOFBF, sizeof(buf)) !=0)
                  printf("Incorrect type or size of buffer1\n");
            if (setvbuf(stream2, _IONBF, 0) != 0)
                  printf("Incorrect type or size of buffer2\n");
            }.
           
           

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог