The function setvbuf () in C
The function int setvbuf (FILE * stream, char * buffer, int mode, size_t size) in Standard C Library determines how a Stream should be buffered.
Declare setvbuf () function in C
Below is the declaration for the setvbuf () function in C:
int setvbuf ( FILE * stream , char * buffer , int mode , size_t size )
Parameters
stream - This is the pointer to a FILE object that identifies the opened stream.
buffer - This is the buffer allocated. If set to NULL, the function automatically allocates a Buffer with the specified size.
mode - Defines the mode for buffering files.
mode Description_IOFBF Full buffering - On the output, the data is written once the buffer is full. On the input, the buffer is filled when an input operation is requested and the buffer is empty _IOLBF Line buffering - On the output, data is recorded when encountered: or a newline character (new line) is inserted into Stream or when the buffer is full . On the Input, the buffer is filled in to the newline character next to the input when an input operation is requested and the buffer is empty _IONBF No buffering - No buffers are used. Each I / O activity is recorded as soon as possible. Buffer parameters and size are ignoredsize - This is the buffer size (byte value).
Returns the value
This function returns 0 if successful. If not, the function returns a value other than 0.
For example
The following program C illustrates how to use the setvbuf () function in C:
#include #include int main () { char buff [ 1024 ]; memset ( buff , '' , sizeof ( buff )); fprintf ( stdout , "Chuan bi buffern" ); setvbuf ( stdout , buff , _IOFBF , 1024 ); fprintf ( stdout , "Hoc C co ban va nang cao tai QTM !!!n" ); fprintf ( stdout , "Phan noi dung nay se duoc demn" ); fflush ( stdout ); return ( 0 ); }
Compile and run the above program to produce the following results. Here the program still buffers the output into the buff until it encounters the first call to fflush (), then it starts buffering output.
According to Tutorialspoint
Previous lesson: Function setbuf () in C
Next lesson: Function tmpfile () in C
You should read it
Maybe you are interested
Computer says waiting for buffer memory, how to fix it?
How to increase browser buffer size for better performance
Surf the web more safely with the BufferZone Pro application
Techniques to exploit buffer overflows: Organize memory, stack, call functions, shellcode
Techniques of exploiting buffer overflow errors - Part II
Error due to buffer overflow and how to fix it