229k views
0 votes
What function do you use to change an open file stream pointer to point to another file?

a) freopen()
b) fopen()
c) rewind()
d) fsetpos()

User Orenshi
by
7.6k points

1 Answer

4 votes

Final answer:

The freopen() function is used to change an open file stream pointer to point to another file, closing the first file and opening a new one with the specified filename and mode.

Step-by-step explanation:

To change an open file stream pointer to point to another file, you use the freopen() function. This C standard library function is designed to first close the file associated with the given stream and then open a new file specified by the filename and mode arguments. It's especially useful when you want to redirect the stream to a different file without altering the file descriptor or creating a new stream.

For example, to change the stream stdin to read from a file instead of standard input, you would use the following:

freopen("newinput.txt", "r", stdin);

In contrast, fopen() is used to open a new file stream. rewind() resets the file position indicator for the stream to the beginning, and fsetpos() sets the file position indicator to a specific value based on a variable of type fpos_t.

User Turutosiya
by
7.8k points