Solved

Finding Files

Posted on 2004-04-23
7
186 Views
Last Modified: 2010-04-01

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
Comment
Question by:newuser11
  • 2
7 Comments
 
LVL 13

Expert Comment

by:SteH
ID: 10901025
0
 

Author Comment

by:newuser11
ID: 10901497
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
 

Author Comment

by:newuser11
ID: 10901867
Increased points
0
 
LVL 14

Accepted Solution

by:
wayside earned 200 total points
ID: 10902073
> 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

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Written by John Humphreys C++ Threading and the POSIX Library This article will cover the basic information that you need to know in order to make use of the POSIX threading library available for C and C++ on UNIX and most Linux systems.   [s…
  Included as part of the C++ Standard Template Library (STL) is a collection of generic containers. Each of these containers serves a different purpose and has different pros and cons. It is often difficult to decide which container to use and …
The goal of the video will be to teach the user the concept of local variables and scope. An example of a locally defined variable will be given as well as an explanation of what scope is in C++. The local variable and concept of scope will be relat…
The viewer will learn how to clear a vector as well as how to detect empty vectors in C++.

910 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now