在 c++ 中相对保存文件

Posted

技术标签:

【中文标题】在 c++ 中相对保存文件【英文标题】:Saves file relatively in c++ 【发布时间】:2015-11-25 14:44:55 【问题描述】:

我想保存一个字符串。 如果我有以下目录结构:

.
└── folder1
    ├── folder2
    │   └── myCode.cpp
    └── saved_forms

如何将我的字符串保存在文件Circle.txt 中的saved_forms 中?现在我正在做:

ofstream fichier("Circle.txt", ios::out | ios::app);

它会将Circle.txt 保存在folder2 中。

【问题讨论】:

尝试使用"../Circle.txt" 我的问题忘记了一行,我刚刚编辑了它^^ 是的,我知道“../name.txt”,无论如何感谢您的回答,那是我的错。 这一切都取决于您运行时程序的当前工作目录。您在问题中详述的特定工作目录的解决方案已被许多人发布,但如果当前工作目录是其他内容,则该路径将不再有效。这就是为什么你通常应该尽量避免固定的编译时相对路径。 【参考方案1】:

您可以使用“../saved_forms/Circle.txt”。它在当前文件夹的上一层文件夹,然后转到 saved_forms 文件夹并在那里创建“Circle.txt”。

ofstream fichier("../saved_forms/Circle.txt", ios::out | ios::app);

希望对你有帮助

【讨论】:

【参考方案2】:

文件相对于当前工作目录保存。如果它总是从folder1/folder2/ 运行,那么只使用ofstream fichier("../Circle.txt", ios::out | ios::app)

【讨论】:

以上是关于在 c++ 中相对保存文件的主要内容,如果未能解决你的问题,请参考以下文章

怎么把文件保存到绝对路径

Qt C++:将项目保存在文件中[重复]

使用 C++ 保存的文件未显示在目录中

在 C++ 中保存/写入 txt 文件的时间

如何将arcgis的mxd文档存储为相对路径

如何将数组保存到 C++ 中的文件中?