Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 223
  • Last Modified:

Finding Files


My app is created with vc++ 6.0 win32 with MFC in a shared Dll.

I'm looking for an example code to look for files (ex:c:\test\*.txt -- look for all 'txt' files) and store them in an array and loop through the array.

Thanks.
0
newuser11
Asked:
newuser11
  • 2
1 Solution
 
SteHCommented:
0
 
newuser11Author Commented:
I have tried the CFileFind. Thanks. I have saved the files in a LPCTSTR array. When I tried to loop through, it's not displaying the files. what's wrong with the displaying?

  CFileFind finder;
 LPCTSTR  szFileNames[255];
int i=0;
   BOOL bWorking = finder.FindFile("c:\test\*.txt");

   while (bWorking)
   {
      bWorking = finder.FindNextFile();
     szFileNames[i] =  finder.GetFileName();

      cout << "File Name " << szFileNames[i] << endl;  
     i++;
   }

  for (int j=0; szFileNames[j] != NULL; j++)
  {
      cout << "For Loop " <<  &szFileNames[0] <<  endl;
  }

Thanks.
0
 
newuser11Author Commented:
Increased points
0
 
waysideCommented:
> for (int j=0; szFileNames[j] != NULL; j++)
>   {
>      cout << "For Loop " <<  &szFileNames[0] <<  endl;
>   }

Try

for (int j=0; szFileNames[j] != NULL; j++)
  {
     cout << "For Loop " << szFileNames[j] <<  endl;
  }


Also:

> LPCTSTR  szFileNames[255];

You didn't initialize this anywhere, but you are depending on an element value to be NULL to terminate the loop. To initialize:

LPCTSTR  szFileNames[255] = { NULL };

Also:

>    szFileNames[i] =  finder.GetFileName();

What if i > 255? You've overwritten the end of your array and will most likely crash.


0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now