C setbuf() function
C library function - setbuf()
The setbuf() function controls buffering for the specified stream if the operating system supports user-defined buffers. The stream pointer must refer to an open file before any I/O or repositioning has been done.
Syntax:
void setbuf(FILE *stream, char *buffer)
setbuf() Parameters:
Name | Description | Required /Optional |
---|---|---|
stream | Identifies an address for a file descriptor, which is an area of memory associated with an input or output stream. | Required |
buffer | The system uses the buffer, which you specify, for input/output buffering instead of the default system-allocated buffer for the given stream. | Required |
Return value from setbuf()
- This function does not return any value.
Example: setbuf() function
The following example opens the file test.txt for writing. As a result, it calls the setbuf() function in order to create a buffer of length BUFSIZ. Strings are written to the stream using the buffer buf, which contains the string before it is flushed to the file.
#include <stdio.h>
#include <string.h>
int main(void)
{
char buf[BUFSIZ];
char string[] = "C Programming.";
FILE *stream;
memset(buf,'\0',BUFSIZ); /* initialize buf to null characters */
stream = fopen("test.txt", "wb");
setbuf(stream,buf); /* set up buffer */
fwrite(string, sizeof(string), 1, stream);
printf("String is found in buffer now. %s\n",buf); /* string is found in buf now */
fclose(stream); /* buffer is flushed out to myfile.dat */
}
Output:
String is found in buffer now. C Programming.
C Programming Code Editor:
Previous C Programming: C rewind()
Next C Programming: C setvbuf()
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://w3resource.com/c-programming/stdio/c_library_method_setbuf.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics