我想获取我使用 ofstream 创建的文件的目录。 我写的代码是这样的
std::ofstream txt("sample.txt", std::ios::binary);
然后我向 txt 文件写入一些东西,然后调用 txt.close() 关闭 ofstream。在编写时,我想获取 sample.txt 文件的位置并将其写入 sample.txt。 例如,目录路径是这样的:
/home/usr/Downloads/sample.txt
我想将整个内容保存为字符串,以便将其写入 sample.txt 文件。谁能帮忙? 我正在使用 linux 对此进行编码,如果有一种通用的方式来执行此操作会很好(在 windows、linux、mac 等上工作)。
最佳答案
你应该看看Boost.Filesystem用于可移植路径处理。 C++ 没有太多路径,因为您可能在没有文件系统的平台上运行。但是,您可以尝试使用 getcwd 获得一些东西。并在输出和文件名之间附加“/”。 getcwd 不是 C 的一部分,但它在 Windows 上可用 _getcwd -- POSIX 兼容系统将具有规范的getcwd
。这应该可以工作(但我很确定在某些极端情况下它不会工作,例如,如果从 UNC 路径等运行。)
关于c++ - 如何找到我在 C++ 中从 ofstream 创建的文件的目录路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5422555/