How do you get a list of files currently in a directory??

R

Rob_S

I have a program which saves time stamped files into time stamped
directories.

When I want to read these files, I get the current date and check for the
existence of the directory using....

while (!(_chdir(dirname)) == 0)
{reduce the directory name (time) and check again}

This method quickly finds the last directory but I don't know anything about
the contents of the directory.

I thought it would be easy to load the contents of this directory into a
list which could be used to open files.
I have been using dir command for years and took it for granted that there
is a function to read directory contents but I can't seem to find any easy
way to do this.

How can directory contents be read?
Is there a function or class?
The only thing I can think of is to write the filenames to a database as
they are being written and then check for their existence in a directory.

Any ideas would be appreciated.
Bob
 
R

Rolf Magnus

Rob_S said:
I have a program which saves time stamped files into time stamped
directories.

When I want to read these files, I get the current date and check for the
existence of the directory using....

while (!(_chdir(dirname)) == 0)
{reduce the directory name (time) and check again}

This method quickly finds the last directory but I don't know anything
about the contents of the directory.

I thought it would be easy to load the contents of this directory into a
list which could be used to open files.
I have been using dir command for years and took it for granted that there
is a function to read directory contents but I can't seem to find any easy
way to do this.

How can directory contents be read?
Is there a function or class?

Not in standard C++. The _chdir() function you're using above isn't a
standard C++ function either. So you have to resort to system-specific
functions (For a POSIX compliant system, they would e.g. be opendir(),
readdir(), closedir()), which are best discussed in a newsgroup about the
operating system/compiler/library you are using.
 
M

Michiel.Salters

Rolf said:
Rob_S wrote:

Not in standard C++. The _chdir() function you're using above isn't a
standard C++ function either. So you have to resort to system-specific
functions

Or a portable library, like boost::filesystem. (Which is mostly
off-topic here,
but www.boost.org has enough documentation).
See also the FAQ about the standard library and non-standard libraries.

HTH,
Michiel Salters
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,014
Latest member
BiancaFix3

Latest Threads

Top