Re: [gtk-list] Re: General C question - file attributes
- From: Tom Gilbert <gilbertt tomgilbert freeserve co uk>
- To: gtk-list redhat com
- Subject: Re: [gtk-list] Re: General C question - file attributes
- Date: Sun, 15 Aug 1999 17:37:25 +0000
* Travis Loyd (lelandg@usa.net) [990815 15:35]:
> On Sun, Aug 15, 1999 at 09:25:55AM -0400, John C Atkeson wrote:
> >
> > I'm reading directories with opendir, readdir and closedir. Um... how
> I was looking for these... glad I read your question.
> > do I detect file attributes, specifically how to distinguish files from
> > sub-directories?
> In the man page for readdir I found this:
> struct dirent {
> long d_ino; /* inode number */
> off_t d_off; /* offset to the next dirent */
> unsigned short d_reclen;/* length of this record */
> unsigned char d_type; /* type of file */
> char d_name[256]; /* filename */
> };
> That is what is returned from readdir, this is just a guess but I would think
> that d_type is what you are looking for.
>
> Travis Loyd <lelandg@usa.net>
It should be noted that on some systems, d_type will always return a
value of DT_UNKNOWN. In this case I would suggest the use of the stat
call.
>From libc docs,
[...]
To examine the attributes of files, use the functions `stat',
`fstat' and `lstat'. They return the attribute information in a
`struct stat' object. All three functions are declared in the header
file `sys/stat.h'.
- Function: int stat (const char *FILENAME, struct stat *BUF)
The `stat' function returns information about the attributes of the
file named by FILENAME in the structure pointed at by BUF.
If FILENAME is the name of a symbolic link, the attributes you get
describe the file that the link points to. If the link points to a
nonexistent file name, then `stat' fails, reporting a nonexistent
file.
The return value is `0' if the operation is successful, and `-1'
on failure. In addition to the usual file name errors (*note File
Name Errors::., the following `errno' error conditions are defined
for this function:
[...]
Tom.
--
.-------------------------------------------------------.
.^. | Tom Gilbert, England | tom@tomgilbert.freeserve.co.uk |
/V\ |----------------------| www.tomgilbert.freeserve.co.uk |
// \\ | Sites I recommend: `--------------------------------|
/( )\ | www.freshmeat.net www.enlightenment.org www.gnome.org |
^^-^^ `-------------------------------------------------------'
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]