【问题标题】:ifstream can't locate file?ifstream 找不到文件?
【发布时间】:2011-09-25 00:20:13
【问题描述】:

我正在尝试读取一个名为“sample.txt”的文件,但每当我尝试执行ifstream 时,它永远无法找到该文件。所以我的问题是您将文件放在哪里以便可以找到它?

 ifstream iFile("sample.txt");

【问题讨论】:

  • 该文件应该在current working directory 中找到,不管它是什么。
  • 您可以通过右键单击“产品”下的二进制文件并选择“在 Finder 中显示”来找到它正在运行的目录。
  • 我确实将 sample.txt 文件放在 main.cpp 目录中,但是每当我尝试执行 iFile.is_open(); 之类的操作时// 我得到一个错误。

标签: c++ xcode4 ifstream


【解决方案1】:

这里是解决方案。

1) 在 Xcode 中打开您的项目;

2) 在项目窗口左侧的 Groups & Files 树中找到 Products 文件夹;

3) 当您展开该文件夹时,您应该会看到 Unix 可执行文件的图标(通常是黑色矩形);

4) 按住 Ctrl 并单击该图标并选择 Show in Finder_(如果您不小心选择了 Open With Finder,Finder 将在终端窗口中启动您的程序);

5) 在 Finder 中显示应该会打开一个 Finder 窗口,显示包含您的可执行文件的文件夹的内容。您应该会在该窗口中看到您的输出文件。

来源:https://discussions.apple.com/thread/2145737?start=0&tstart=0

【讨论】:

    【解决方案2】:

    如果您不指定绝对路径,则文件名将被解释为相对于程序的工作目录。

    【讨论】:

    • 我确实将 sample.txt 文件放在了 main.cpp 文件所在的位置,但我仍然无法读取该文件。我也试过 ofstream oFile("sample1.txt"); //在某处创建 sample.txt 文件,当我尝试读取 sample1.txt 文件时,它工作正常,但是当我去目录查找它时,我无法在任何地方找到 sample1.txt。所以我猜 xcode 4 在其他地方创建了 sample1.txt 文件还是什么?
    • @cantfindaname88 这取决于你程序的工作目录是什么,不一定是 main.cpp 的目录。它可以是可执行文件的目录,或者如果您直接从 Xcode 启动程序,它可能是 Xcode 项目的目录(VS 会这样做),但我一般对 Xcode 或 Apple 没有任何经验。只需给文件一个唯一的名称并搜索它。我确定这是我提到的地方之一。或者使用一些操作系统函数来确定当前的工作目录。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多