List a directory in a C program on Unix machines
Richard Harter
rh at smds.UUCP
Sun Aug 12 05:00:48 AEST 1990
In article <1990Aug10.213953.25619 at cubmol.bio.columbia.edu>, ping at cubmol.bio.columbia.edu (Shiping Zhang) writes:
> In article <1990Aug10.154506.846 at caen.engin.umich.edu> cys at caen.engin.umich.edu writes:
> > I am currently writing a C program on Unix machines. What I want to
> >do is to store the file names in a directory into a character array.
> >So I can do something to those files. I want to use Unix system calls
> >to handle it. Could anyone help me out with that?
> I think opendir(), readdir() etc. can handle this problems. Check
> your man pages.
But be warned. There are some portability pitfalls so the routine to
fetch the file names should be encapsulated. The major variants that
I can think of offhand are:
(a) BSD Uses <sys/dir.h>
(b) SYS V Uses <dirent.h>
(c) SYS V Older versions of SYS V may not have these routines.
You can write your own. THe directory is a file
containing an array of structures which can be read.
The format is in the manual.
(d) VMS Write your own. There are C callable VMS library
routines for extracting the needed information.
(e) Primos Has a routine called lsdir which returns just what
you want.
--
Richard Harter, Software Maintenance and Development Systems, Inc.
Net address: jjmhome!smds!rh Phone: 508-369-7398
US Mail: SMDS Inc., PO Box 555, Concord MA 01742
This sentence no verb. This sentence short. This signature done.
More information about the Comp.lang.c
mailing list