How can I recover the file name given an open stream?

Q

How can I recover the file name given an open stream?

✍: Guest

A

This problem is, in general, insoluble. Under Unix, for instance, a scan of the entire disk (perhaps involving special permissions) would theoretically be required, and would fail if the descriptor were connected to a pipe or referred to a deleted file (and could give a misleading answer for a file with multiple links). It is best to remember the names of files yourself as you open them (perhaps with a wrapper function around fopen).

2015-10-05, 795👍, 0💬