Function freopen () in C

Function FILE * freopen (const char * filename, const char * mode, FILE * stream) in Library C attaches a new filename with the given Stream and at the same time closes the old FILE in Stream.

Declaring the function freopen () in C

Below is the declaration for freopen () function in C:

 FILE * freopen ( const char * filename , const char * mode , FILE * stream ) 

Parameters

filename - This is the string containing the file name to be opened.

mode - This is the string containing the file access mode. Include:

mode Description "r" Open a file to read. File must exist "w" Create an empty file to write. If a file with the same name already exists, its content is removed and the file is treated as a new blank file "a" Append to a file. With write operations, append data at the end of the file. The file is created if it does not already exist "r +" Open a file to write and read. File must exist "w +" Create an empty file to write and read "a +" Open a file to read and append

stream - This is the pointer to a FILE object that identifies the Stream to be reopened.

Returns the value

If the file is successfully reopened, the function returns a pointer to an object that identifies the Stream, otherwise the null pointer is returned.

For example

The following C program illustrates the usage of freopen () function in C:

 #include int main () { FILE * fp ; printf ( "Dong text nay hien thi tren stdoutn" ); fp = freopen ( "baitapc.txt" , "w+" , stdout ); printf ( "Dong text nay duoc ghi vao baitapc.txtn" ); fclose ( fp ); return ( 0 ); } 

Compiling and running the above program will send the following line at STDOUT first:

Function freopen () in C Picture 1

After the call to freopen (), it binds STDOUT to baitp.txt, so whatever we write at STDOUT will go into baitapc.txt. Therefore, the baitapc.txt will have the following content:

Function freopen () in C Picture 2

Now you follow the contents of the above file by using the following C program:

Function freopen () in C Picture 3

According to Tutorialspoint

Previous lesson: Function fread () in C

Next lesson: Function fseek () in C

4 ★ | 1 Vote

May be interested

  • Function fseek () in CPhoto of Function fseek () in C
    the function int fseek (file * stream, long int offset, int whence) in standard c library sets the stream file location to the given offset. the offset parameter specifies the number of bytes to search from where the given location is.
  • The function fsetpos () in CPhoto of The function fsetpos () in C
    the function int fsetpos (file * stream, const fpos_t * pos) in library c sets the file location of the stream to the given location. the pos parameter is a location provided by the fgetpos function.
  • Function ftell () in CPhoto of Function ftell () in C
    the function long int ftell (file * stream) in standard c library returns the current file location of the given stream.
  • Function fwrite () in CPhoto of Function fwrite () in C
    function size_t fwrite (const void * ptr, size_t size, size_t nmemb, file * stream) in standard c library writes data from the array pointed by ptr to the given stream.
  • Union in CPhoto of Union in C
    a union is a special data in c language that allows you to reserve different data types in the same memory. you can define union with a lot of parameters, but only one component contains values ​​at a time. union provides an effective way to use a device for multiple purposes.
  • Bit field in CPhoto of Bit field in C
    suppose your c program includes a number of true / false variables grouped in a structure called a page to check if the manufactured goods have sufficient width and height allowed.