Re: how to get the file name



"Nils O. Selåsdal" <NOS@xxxxxxx> writes:

> Tim Keck wrote:
>> Nils O. Selåsdal wrote:
>>> marsarden wrote:
>>>
>>>> only has the FILE * handle , how to get the file name ?
>>>>
>>>> for example,i have a function accpet a (FILE *)argumment and return the
>>>> file name : char * getfilename(FILE * fp);
>>>
>>> You cannot.
>>> Remember the filename when you opened it, if you can.
>>>
>>> (though linux has some not always reliable way, get
>>> the filedescriptor with the fileno() function ,
>>> call the readlink function on the /proc/self/fd/<fd>
>>> fd file. Do a ls -l /proc/self/fd to see what it's about)
>> One of the beauties of the design is that there is a many to one
>> relationship between directory entries and files, so a given file
>> may have many names.
> All one could do was remember the filename when it's opened.
> plan 9 added the fd2path system call, where the kernel
> remembers the original path when it is opened.

What happens if the file is renamed/deleted and replaced with a
different file while it is open?

--
Måns Rullgård
mru@xxxxxxxxxxxxx
.



Relevant Pages

  • Re: how to get the file name
    ... Tim Keck wrote: ... char * getfilename; ... Remember the filename when you opened it, ... (though linux has some not always reliable way, ...
    (comp.os.linux.development.apps)
  • Re: "system" with [ ] in filename
    ... In a perl script I do this: ... Or should I look for the problem in the way Windows handles the in the filename? ... Come over and you make it work on Linux. ... I do not see your code where you transform/read/determine the filename to be written, but a simple routine to make it entirely unique - without the "" would not be out of the question here and would solve the overall problem - giving you time for submitting a bug report to the *magick folks. ...
    (comp.lang.perl.misc)
  • Re: Free FAT12/FAT16/FAT32 filesystem (C)
    ... There is an oddity about the vfat driver in Linux, ... prettify directory output by silently lowercasing 8.3 names when you ... IIRC if a filename you create COULD be represented ... it will always be preferred display. ...
    (comp.arch.embedded)
  • Regexp for parsing windows filepath on Unix
    ... I'm able to capture the file and move it over intact to my Linux box with no problem. ... I've discovered that when a user uploads the file with IE, the entire path to the file is sent (as opposed to FireFox which only returns the filename). ...
    (comp.lang.perl.misc)
  • Re: GDG like program?
    ... > I'm new to LInux and I'm wondering if there is a GDG (Genertaion Data ... storing generation numbers in the filename, ... Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org ...
    (comp.os.linux.development.apps)