gpt4 book ai didi

c++ - boost::filesystem::create_directories();将文件夹添加到陌生位置

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:20:17 32 4
gpt4 key购买 nike

我正在使用 boost 创建一个目录来放置一些临时文件。

int main( int argc, char* argv[] )
{
std::cout << "Current Dir: " << argv[0] << std::endl;
boost::filesystem::create_directories( "TempFolder" );
return 0;
}

现在,如果双击该 exe,文件夹 "TempFolder" 将在与 exe 相同的目录中创建,这是我所期望的。但是,如果我现在将一个文件拖到 exe 上,该文件夹将在 "C:\Documents and Settings\0xC0DEFACE" 中创建,这是我当然没有想到的。

看到我的应用程序没有改变,正在打印的目录也没有改变,我的应用程序当前忽略传递的字符串,为什么现在在新目录中创建文件夹?

我正在运行带有 VS9 的 Windows XP,并且我正在使用 boost 1.39。

最佳答案

我认为这是因为您“执行”二进制文件的方式。

在第一种情况下,您双击它,它将在“当前”目录中运行。

在第二种情况下,您将文件放在上面,这会导致 Windows 采取不同的操作来执行您的二进制文件。在第二种情况下,我相信二进制文件在您的“主”目录中运行。

Windows 执行应用程序的方式不同。

我在将文件拖放到我的可执行文件时遇到过类似的问题。

关于c++ - boost::filesystem::create_directories();将文件夹添加到陌生位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2270166/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com