Re: how to get the file name
- From: Måns Rullgård <mru@xxxxxxxxxxxxx>
- Date: Fri, 06 Jan 2006 18:40:39 +0000
"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
.
- Follow-Ups:
- Re: how to get the file name
- From: "Nils O. Selåsdal"
- Re: how to get the file name
- From: bill pursell
- Re: how to get the file name
- References:
- how to get the file name
- From: marsarden
- Re: how to get the file name
- From: "Nils O. Selåsdal"
- Re: how to get the file name
- From: Tim Keck
- Re: how to get the file name
- From: "Nils O. Selåsdal"
- how to get the file name
- Prev by Date: Re: how to get the file name
- Next by Date: Re: evecv/memory leak
- Previous by thread: Re: how to get the file name
- Next by thread: Re: how to get the file name
- Index(es):
Relevant Pages
|