get the full path of a file

I want to get the full path of a file(For example c:\Mytrial\Sample\Display.txt ) by just giving the file name(For example Display.txt) as input

The File may be present at anyone of the drives in my PC (Any random directory path). I want to find the full path of the file by running a MFC code from some other drive in the same PC and giving just the file name as input( For example Display.txt ) to the code.

then after i will delete the file.

I tried with CFileFind class without success. Any VC++ experts help me by suggesting some sample code.

please help. how to find the file and how to delete.


thank you very much
LVL 1
haroldxiousAsked:
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.

nthnhungCommented:
It takes time to do that, like file search engine. You can refer this link. I just look around and think it may be helpful for you.
http://www.codeproject.com/file/cfilefinderex.asp
Cheers.
0
rajeev_devinCommented:
Big job.
You need to traverse all the directory for the file.
In that case you may find more than one file with the same name in different paths.

You need to use the functions:

// To open the directory
HANDLE CreateFile(
  LPCTSTR lpFileName,                         // file name
  DWORD dwDesiredAccess,                      // access mode
  DWORD dwShareMode,                          // share mode
  LPSECURITY_ATTRIBUTES lpSecurityAttributes, // SD
  DWORD dwCreationDisposition,                // how to create
  DWORD dwFlagsAndAttributes,                 // file attributes
  HANDLE hTemplateFile                        // handle to template file
);

// The find the first file in directory.
HANDLE FindFirstFile(
  LPCTSTR lpFileName,               // file name
  LPWIN32_FIND_DATA lpFindFileData  // data buffer
);

// The find the next file in directory.
BOOL FindNextFile(
  HANDLE hFindFile,                // search handle
  LPWIN32_FIND_DATA lpFindFileData // data buffer
);

Remember that the file that you find could be a directory. In that case you need to use the sequence recursively.
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
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
System Programming

From novice to tech pro — start learning today.

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.