CodeNet / Языки программирования / C / C++ / Linux/Unix / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
fflush
FFLUSH #include <stdio.h> int fflush (stream); FILE *stream; указатель на структуру FILE. Описание. Если заданный поток stream открыт для вывода, то содержимое буфера, связанного с потоком stream функции fflush, записывается в соответствующий файл. Если поток открыт для ввода, то функция fflush очищает содержимое буфера. После вызова функции поток ос- тается открытым. Для небуферизованного потока применение этой функции не эффективно. Возвращаемое значение. Функция fflush возвращает 0, если буфер успешно обновлен. Это же значение возвращается, когда поток не имеет буфера или когда он открыт только для чтения. В случае возникновения ошибки возвращается значение EOF. См. также fclose, fflushall, setbuf. Замечание! Буферы автоматически обновляются, когда они пол- ны, когда поток закрывается или произошло нормальное окончание работы программы без закрытия потока. Пример: #include <srtio.h> FILE *stream; char buffer[BUFSIZ]; . . . /* следующие два оператора обновляют буфер потока и уста- навливают новый буфер для потока */ fflush (stream); setbuf (stream, buffer);. _FFREE #include <malloc.h> требуется только для объявле- ния функции. void _ffree(ptr); char far *ptr; указатель на захваченный блок памяти. Описание. Функция _ffree освобождает блок памяти вне умалчиваемого сегмента данных. Аргумент ptr указывает на ранее захваченный блок памяти посредством вызова функции _fmalloc. Числом освободивщихся байтов является число байтов, опреде- ленных при захвате (размещении) блока. После вызова освободивший- ся блок вновь пригоден для захвата. Возвращаемое значение. Возвращаемого значения нет. См.также _fmalloc, free, maloc. Замечание! Попытка освободить неверный ptr (указатель не захватывается посредством _fmalloc) может привести к последующему захвату и вызвать ошибки. Пример: #include <malloc.h> #include <stdio.h> char far *alloc; /* Захватывает 100 байтов и затем освобождает их */ if ((alloc=_fmalloc(100))==NULL) /* проверяет на правильность указателя */ printf("unable to allocate memory\n"); else { . . . _ffree(alloc); /* освобождает память для heap */ }