Связать буфер с потоком ввода-вывода
#include <stdio.h>int setvbuf( FILE *fp,char *buf,int mode,size_t size );
NULL, либо указатель на буфер.libc
Функция setvbuf() связывает буфер с потоком ввода-вывода, указанным в fp. Вызывать функцию setvbuf() следует после открытия потока, но до выполнения операций чтения, записи или поиска.
Если buf не равен NULL, то указанная память будет использоваться вместо автоматически выделенного буфера.
NULL, size не равен 0, но при этом недостаточно памяти для выделения буфера.#include <stdio.h>#include <stdlib.h>int main( void ){char *buf;FILE *fp;fp = fopen( "file", "r" );buf = malloc( 1024 );setvbuf( fp, buf, _IOFBF, 1024 );/* work with fp */...fclose( fp );/* This is OUR buffer, so we have to free it. Do that AFTER* you've closed the file.c */free( buf );return (EXIT_SUCCESS);}
ANSI, POSIX 1003.1
Предыдущий раздел: Описание API системной библиотеки