我正在尝试编写一些可以在所有平台上跨卷移动文件的东西。目前,我使用重命名(...)函数来移动文件,这甚至可以在Windows上的卷/驱动器上运行。但是,在Linux上,我得到一个EXDEV错误(通过strace),杀了我的应用程序:(
看来我可能需要通过系统调用'mv'(...),但这似乎非常hacky。那,或者将boost集成到我的应用程序中,这不是一个微不足道的操作。
我还有其他选择吗?
感谢您的时间。
答案 0 :(得分:1)
如果您想编写跨平台所需的内容而不依赖于系统特定的实现 - 您必须坚持标准。虽然较新的C ++ 11标准可能允许其他功能来帮助您,但一个简单的解决方案就是实现从fstream
到另一个{{1}}的纯文本。