仅使用GetOpenFileName从路径中获取文件名

问题描述 投票:0回答:1

所以我有这个代码:

        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

提前感谢。

c++ windows c++-cli
1个回答
0
投票

通过使用ofn.lpstrFile类获得它:

std::filesystem::path
© www.soinside.com 2019 - 2024. All rights reserved.