为什么fstream在可执行位置创建文件



我正在fstream中制作一个C++程序,我注意到我的程序在可执行文件所在的位置制作了一个文件。

我做了两个文件夹,bin和src。src有main.cpp:

#include <fstream>
int main()
{
std::fstream file("first_file_with_fstream.txt");

file << "Hello, World of fstream!n";
return 0; 
}

我用编译了它

g++-o运行main.cpp

当我在src目录中时。

在编译无错误后,我将run.exe移到了bin中。

然后我执行了run.exe,在src中没有发现预期的其他文件。然后我发现文件在垃圾桶里。

请解释为什么会发生这种情况!

谢谢!

为什么fstream在可执行位置创建文件?

您使用了相对路径名。您的操作系统将相对路径解释为相对于";当前工作目录";(或类似(。如果当前工作目录是bin,那么您将打开文件bin/first_file_with_fstream.txt

最新更新