Some help with Files and Reading from Directories

Started by
2 comments, last by Neo_Matrix 23 years, 9 months ago
Can anyone point me to a good tutorial on having C++ open up a directory and then go through each file one by one printing on the screen all the files that are in the directory. Thanks a lot. Hope someone has a link to a good reference on it. Neo_Matrix
Neo_Matrix
Advertisement
Yeah, its called "dir"

Seriously though, you are going to have to give more details on what you are planning to do - windows? unix?

If windows then you can use the common dialog boxes for file access with MFC... its also possible with pure win32 api but its a bit more of a challenge. If you are programming games then MFC generally isnt recommended.

But back to my dir "joke", you could use the system command:

        system("dir");//or in unix...system("ls");        


Note that this will splurt all the output to the standard output.. ie the command line interfacy thing... and remember to #include process.h.

Yeah, i know you asked for tutorials but i dont know any

Edited by - jumble on July 19, 2000 1:58:14 PM
jumble-----------
I dont know a tutorial, but i think this is what you are looking for.
It is possible to do what you want - but its platform specific.
If you are writing on Windows:

    #include <stdio.h>#include <io.h>#include <direct.h>long fh;struct _finddata_t findData;fh = _findfirst( "basepath\\*.*", &findData);if ( !fh){    // cannot open path}else{    do    {        printf( "file/dir = %s\n", fileData.name);    } while ( _findnext( fh, &findData));}you need to remember to add on "\\*.*" onto whatever directory you want to look in.but if you are writing under unix would want something likethis:#include <stdio.h>#include <unistd.h>#include <direct.h>DIR *dp;struct dirent *DEntry;dp = opendir( "basepath");if ( !dp){    // cannot open path}else{    while( DEntry = readdir( dp) != 0)    {        printf( "file/dir = %s\n", DEntry->d_name);    }}    


If you want to know whether each entry is a file or another directory, you will need to use stat

As you can see, the Unix solution is a little nicer. But then i am biased.

Hope that helps

Edited by - shamen on July 19, 2000 2:41:31 PM
That is exactly what I wanted. I will mess with the code and see what I can come up with. Do you know where I can find information on setting up FTP in C++? I think Unix easier but doing it for NT, damn. Thanks again.

Neo_Matrix
Neo_Matrix

This topic is closed to new replies.

Advertisement