【问题标题】:Tilde ~ makes trouble when using fstream on Mac波浪号 ~ 在 Mac 上使用 fstream 时出现问题
【发布时间】:2015-08-02 02:37:17
【问题描述】:

我不完全知道我是否有 IDE/工具链问题、Mac 问题或 C++ 问题:

我想用ofstream 保存一个文件。这按预期工作。但是,当我保存到带有波浪号(如“~/Desktop/test.txt”)的文件路径时,ofstream::good() 会报告错误。但是,我可以成功使用“/Users/Michael/Desktop/test.txt”之类的路径。

这适用于 Xcode 调试器、使用 Eclipse 运行以及从控制台直接调用可执行文件。

这里的波浪号“~”有什么问题?

【问题讨论】:

  • ~ 是您实际 shell 的一个功能,用于扩展当前的 $HOME 目录。你不能在 Mac 和其他操作系统上使用 std::fstream

标签: c++ macos tilde


【解决方案1】:

没有路径~,这是由您的shell 解释的。您需要将其扩展为环境变量 HOME 设置的任何值。

如果您通过 shell 调用您的工具,这将提前为您展开。如果您在 Xcode 中,则需要明确指定 $HOME

【讨论】:

    猜你喜欢
    • 2014-08-05
    • 1970-01-01
    • 2016-05-16
    • 2019-07-07
    • 2019-08-09
    • 1970-01-01
    • 2011-03-05
    • 2015-04-23
    • 2012-07-10
    相关资源
    最近更新 更多