0

我使用 Eclipse 作为 C++ 编程的 IDE。在我的系统上,我有一个网络主目录和一个数据分区。我希望将项目存储在主目录中(由我们的管理员备份),但计算应该在数据分区上完成。我怎样才能做到这一点?

我已经想出了如何在构建工件下更改构建位置,但是我在 C++ 代码中生成的文件(例如fstream f; f.open("filename");)存储在我的主文件夹的项目目录中。

一种可能性是从 Eclipse 构建,然后从控制台运行二进制文件。但这并不像单击运行那么好。

我希望有一个人可以帮助我。

4

2 回答 2

0

您正在打开当前工作目录中的文件。您可以在指定文件名时使用绝对路径,也可以chdir在创建/打开文件之前使用。您还应该避免在代码中硬编码文件名。相反,您可以使用配置文件、环境变量、命令行参数等指定文件名。请注意,您还可以在 Eclipse 中指定其他命令行参数,以便在调试时传递给您的可执行文件。

于 2012-01-10T11:28:56.997 回答
0

您需要找到称为“工作目录/路径”或类似名称的东西。(不知道 Eclipse 中的名称是什么)

但是请注意,这也会影响动态库的加载方式。

另一种选择是在您的程序中有一个配置选项,并让您的代码处理沿线的路径设置(未经测试!视为伪代码!)

f.open((path / filename).c_str());             // using boost::filesystem 
f.open((path + PATH_SEP + filename).c_str());  // using std::string 
于 2012-01-10T11:33:24.527 回答