首页 > 解决方案 > 工作目录未更新——visual studio

问题描述

我正在尝试更改工作目录,以便可以访问放在可执行文件旁边的文件夹中的 png。这是代码:

std::string ExePath() {
    char buffer[MAX_PATH];
    GetModuleFileName(NULL, buffer, MAX_PATH);
    std::string::size_type pos = std::string(buffer).find_last_of("\\/");
    return std::string(buffer).substr(0, pos);
}

int main()
{
    sf::RenderWindow window(sf::VideoMode(600, 600), "Meatboy experiment");
    sf::Texture meatboyT;
    if (!meatboyT.loadFromFile("sprites\meatboy.png")) {
        std::cout << ExePath() << std::endl;
    }
    .
    .
    .

我右键单击项目名称并单击属性。在调试下,我将工作目录设置为$(SolutionDir)$(Configuration)\.

当我运行它时,输出c:\users\joseph\source\repos\experiment\x64\Debug比我想要的要深两个文件夹。

我再次将工作目录更改为C:\Users\Joseph\source\repos\experiment\experiment

输出仍然c:\users\joseph\source\repos\experiment\x64\Debug。为什么?

标签: c++visual-studiosfml

解决方案


推荐阅读