使用C++(在visual studio 2013中),我該如何編寫一段代碼來搜索特定文件的系統路徑並返回文件的完整路徑?我只有文件的基本名稱。通過系統路徑,我的意思是窗口中的路徑環境變量(您可以通過在命令窗口中輸入「set path」來查看路徑)。如何在C++中編寫一段代碼來查找系統路徑上文件的完整路徑?
例如。我喜歡有一些像,提前
file_name = "my_test.xml"
path = find_file(fine_name);
感謝
我想出答案。下面是一段代碼,正是我一直在尋找它:
#include <iostream>
#include <Shlwapi.h>
wchar_t* get_file_full_path(const wchar_t file_name[]){
wchar_t buf[MAX_PATH];
wcscpy_s(buf, wcslen(file_name) + 1, file_name);
if (PathFindOnPath(buf, NULL)) {
std::wcout << file_name << " found." << std::endl;
std::wcout << buf << std::endl;
}
else {
std::wcout << "Could not find the file " << file_name << " on the system path.";
}
return buf;
}
這可能是有益的http://www.cplusplus.com/forum/unices/104524/ http://stackoverflow.com/questions/ 24447540/c-how-to-search-files-in-a-directory-with-certain-name –
你提到[PATH](https://en.wikipedia.org/wiki/PATH_%28variable%29)變量?掃描它似乎很容易。或者您是否想在深層文件層次結構中找到文件,只知道其基本名稱? –
如果您的操作系統窗口考慮https://msdn.microsoft.com/en-us/library/windows/desktop/aa364418%28v=vs.85%29.aspx – VolAnd