Searching the directory for a unique extension?

I have a program that creates a flat file that uses the current date/time to name the file.  This will be the only file in the folder with a ".651" extension.  I have another program that needs to pick-up this file.  Since, I can't use the file's name, is there any code that will allow me to seach the folder for that extension and open the file?

Below is an an example of the address.
Y:\\INCOMING\\OSS\\20070404131022.651
jgoss1Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

jkrCommented:
Check out http://msdn2.microsoft.com/en-us/library/aa365200.aspx ("Listing the Files in a Directory") which will show you how to do that. Basically, in

   // Find the first file in the directory.
   hFind = FindFirstFile(DirSpec, &FindFileData);


you need to pass "Y:\\INCOMING\\OSS\\*.651" as 'DirSpec'
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
bijopuliCommented:
     try
      {
                    WIN32_FIND_DATA FindFileData;
                    HANDLE hFind;

                    printf ("Target file is %s.\n", argv[1]);

                    hFind = FindFirstFile("Y:\\INCOMING\\OSS\\*.651", &FindFileData);

                    if (hFind == INVALID_HANDLE_VALUE)
                    {
                        printf ("Invalid File Handle. Get Last Error reports %d\n", GetLastError ());
                    } else
                    {
                        printf ("The first file found is %s\n", FindFileData.cFileName);
                        FindClose(hFind);
                    }

      }
      catch(...)
      {
            LPVOID lpMsgBuf;
            FormatMessage(       FORMAT_MESSAGE_ALLOCATE_BUFFER |
                                    FORMAT_MESSAGE_FROM_SYSTEM |
                                    FORMAT_MESSAGE_IGNORE_INSERTS,
                                    NULL,
                                    GetLastError(),
                                    MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
                                    (LPTSTR) &lpMsgBuf,
                                    0,
                                    NULL
                              );

            // Display the string.
            cout<<((LPCTSTR)lpMsgBuf)<<endl;;
            //TRACE0((LPCTSTR)lpMsgBuf);

            // Free the buffer.
            LocalFree( lpMsgBuf );
      }
0
jkrCommented:
And how is that different to what I suggested?
0
Introduction to R

R is considered the predominant language for data scientist and statisticians. Learn how to use R for your own data science projects.

Deepu AbrahamR & D Engineering ManagerCommented:
Using MFC:

{
 CFileFind objFlagFinder;
 char szFolderNameAbs[MAX_PATH];
 strcpy(szFolderNameAbs,"Y:\\INCOMING\\OSS\\*.651"); //Set the search path
 //Searching flag file
 bool bFlg = objFlagFinder.FindFile(szFolderNameAbs);
 if(!bFlg)
 {
    bFlg = objFlagFinder.FindFile(szFolderNameAbs);
    if(!bFlg) //No file found
       return;      
   //TO DO:
 }
 while (bFlg) //If you want to Search further
 {      
 bFlg = objFlagFinder.FindNextFile();
 //TO DO :
 }
}

Best Regards,
DeepuAbrahamK
0
Deepu AbrahamR & D Engineering ManagerCommented:
What JKR suggested is right.These are the alternate ways of implementation.
0
jgoss1Author Commented:
jkr,
Thank you for the solution help and the information on where to find it in MSDN.  I got the program to find the file.  Thanks!

DeepuAbrahamK and bijulpoli,
The examples help me understand how jkr's solution worked.  Thanks for the back-up support.

I might actually get this program finished by my deadline...well... maybe.  ;)

 
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
C++

From novice to tech pro — start learning today.