Archived

This topic is now archived and is closed to further replies.

list files in directory

This topic is 5004 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Is there a way in c/c++ (mfc or not) to list the files in a directory? Thx in advance. P.S. I disassembled one of my programs and found out that a signed integer (2 bytes) was offset from the next one by 4 bytes. ????? Here comes the Thnikkaman!

Share this post


Link to post
Share on other sites
Neither C nor C++ supplies any operating system independent method of listing the files in a directory. For Win32, you can try looking up the FindFirstFile() family of functions. Alternately you can try boost::filesystem.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster

#include <iostream>
#include <fstream>
#include <string>
using namespace std;

string array[100];

void ClearArray()
{
for(int i=0;i<100;i++){
array[i] = "";
}
}

void LoadDir(string sDir)
{
string buff;
buff = "Dir " + sDir + " /aa /b >> c:\\d.txt";
system(buff.c_str());
}

void LoadArray()
{
fstream tmp;
tmp.open("c:\\d.txt" );
int i = 0;
while(!tmp.eof()){
tmp >> array[i];
i++;
}
tmp.close();
}

void ListArray()
{
for(int i=0;i<100;i++){
if(array[i] == "" ){ break; }
cout << array[i] << endl;
}
}

int main()
{
ClearArray();
LoadDir("C:\\" );
//LoadDir("c:\\games\\" );

LoadArray(); // load array with directory listing.

ListArray(); // dumb array to console.

ClearArray(); //clean up global array.

system("del c:\\d.txt" ); //destroy tempory directory list file.

return 0;
}

Share this post


Link to post
Share on other sites