This code is from another forums - How to search for files in a directory and subdirectories? When I run the code it shows the path + name of the file Example: C:\New Folder\qqq\www\myfile.txt How to correct it to show me only the name of the file myfile.txt Code: #include <string> #include <vector> #include <iostream> #include <windows.h> #include <conio.h> int SearchDirectory(std::vector<std::string> &refvecFiles, const std::string &refcstrRootDirectory, const std::string &refcstrExtension, bool bSearchSubdirectories = true) { std::string strFilePath; // Filepath std::string strPattern; // Pattern std::string strExtension; // Extension HANDLE hFile; // Handle to file WIN32_FIND_DATA FileInformation; // File information strPattern = refcstrRootDirectory + "\\*.*"; hFile = ::FindFirstFile(strPattern.c_str(), &FileInformation); if(hFile != INVALID_HANDLE_VALUE) { do { if(FileInformation.cFileName[0] != '.') { strFilePath.erase(); strFilePath = refcstrRootDirectory + "\\" + FileInformation.cFileName; if(FileInformation.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { if(bSearchSubdirectories) { // Search subdirectory int iRC = SearchDirectory(refvecFiles, strFilePath, refcstrExtension, bSearchSubdirectories); if(iRC) return iRC; } } else { // Check extension strExtension = FileInformation.cFileName; strExtension = strExtension.substr(strExtension.rfind(".") + 1); if(strExtension == refcstrExtension) { // Save filename refvecFiles.push_back(strFilePath); } } } } while(::FindNextFile(hFile, &FileInformation) == TRUE); // Close handle ::FindClose(hFile); DWORD dwError = ::GetLastError(); if(dwError != ERROR_NO_MORE_FILES) return dwError; } return 0; } int main() { int iRC = 0; std::vector<std::string> vecAviFiles; std::vector<std::string> vecTxtFiles; // Search 'c:' for '.avi' files including subdirectories iRC = SearchDirectory(vecAviFiles, "c:", "avi"); if(iRC) { std::cout << "Error " << iRC << std::endl; return -1; } // Print results for(std::vector<std::string>::iterator iterAvi = vecAviFiles.begin(); iterAvi != vecAviFiles.end(); ++iterAvi) std::cout << *iterAvi << std::endl; // Search 'c:\textfiles' for '.txt' files excluding subdirectories iRC = SearchDirectory(vecTxtFiles, "c:\\textfiles", "txt", false); if(iRC) { std::cout << "Error " << iRC << std::endl; return -1; } // Print results for(std::vector<std::string>::iterator iterTxt = vecTxtFiles.begin(); iterTxt != vecTxtFiles.end(); ++iterTxt) std::cout << *iterTxt << std::endl; // Wait for keystroke _getch(); return 0; }