所以我有这个代码:
OPENFILENAME ofn;
char file_name[100];
ZeroMemory(&ofn, sizeof(OPENFILENAME));
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.hwndOwner = NULL;
ofn.lpstrFile = file_name;
ofn.lpstrFile[0] = '\0';
ofn.nMaxFile = 100;
ofn.lpstrFilter = "Dynamic Link Libraries (.dll)\0*.dll";
ofn.nFilterIndex = 1;
GetOpenFileName(&ofn);
cout << (const char*)ofn.lpstrFile << endl;
[这只是简单地定义了窗口的属性,然后使用GetOpenFileName(&ofn)
打开文件,但是当我打印lpstrFile
时,会得到所选文件的完整路径。
现在我的问题是,如何在C ++上使用文本替换功能或内置Windows函数只能从file.dll
中获取文件名,而不是C:/hello/file.dll
。
提前感谢。
通过使用ofn.lpstrFile
类获得它:
std::filesystem::path