?
Solved

Finding Files

Posted on 2004-04-23
7
Medium Priority
?
218 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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 600 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

On Demand Webinar - Networking for the Cloud Era

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

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

Errors will happen. It is a fact of life for the programmer. How and when errors are detected have a great impact on quality and cost of a product. It is better to detect errors at compile time, when possible and practical. Errors that make their wa…
This article shows you how to optimize memory allocations in C++ using placement new. Applicable especially to usecases dealing with creation of large number of objects. A brief on problem: Lets take example problem for simplicity: - I have a G…
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++.
Suggested Courses

777 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