【问题标题】:finding a file created with C++查找使用 C++ 创建的文件
【发布时间】:2013-02-20 09:16:04
【问题描述】:

我正在学习使用 C++ 编程。我正在使用 Mac OS X 并尝试通过编写以下代码来创建包含一些数据的文件:

ofstream myfile;     
myfile.open ("primescount.csv");     
myfile << "Writing this to a file.\n";     
myfile.close();

在我使用的教程中,我发现这样创建的文件可以在与可执行文件相同的目录中找到。然而,当我在那里看时,我什么也没看到。

所以我的问题是:我在哪里可以找到文件 (primescount.csv)?

我希望你能提供帮助,尽管这对你们来说可能不是最鼓舞人心的问题。

问候,拉斯

【问题讨论】:

  • 发布的代码没有任何问题。你能展示一个完整的例子吗?你是如何运行你的程序的?
  • 你用什么来编译代码和运行可执行文件?
  • 你会在它执行时在环境中设置的目录中找到它。这取决于你如何执行它。
  • 教程有误。该文件将位于启动可执行文件时建立的当前工作目录中。您是否使用 Xcode 来运行您的程序?
  • 文件创建是否正确?添加一个检查myfile.open("file.txt"); if(!myfile.is_open()) { std::cout&lt;&lt;"file not open"; }如果它没有打开,你可能在它试图创建文件的目录中没有权限。

标签: c++ macos path osx-lion


【解决方案1】:

文件将在当前目录中找到——这可能 与可执行文件位于同一目录,但通常不是。

对于 Xcode,当前工作目录默认为 Run 目标的 build-target 文件夹,该文件夹通常隐藏在 temp-folder 的深处。您可以通过执行以下操作来更改当前工作目录在启动时的位置:

  1. 单击主工具栏上 STOP 按钮右侧的项目框
  2. 选择编辑方案
  3. 在左侧窗格列表中选择“运行”子方案。
  4. 选择选项选项卡,
  5. 选中“使用自定义工作目录”复选框
  6. 将工作目录设置到您知道的某个位置(例如您的项目根文件夹甚至您的主文件夹,通常是/Users/YourUserName)。

您的文件应该在您指定的目录中创建,前提是您有权在该文件夹中创建文件,默认情况下,如果它位于您的用户文件夹下。

【讨论】:

  • 好的,谢谢。它现在抱怨,给出以下消息:方案“primes”的工作目录“Users/MyUsername”不存在。
  • 好的,我需要在开头添加额外的 /。似乎解决了:-)谢谢!对不起,我不能更具挑战性:)
【解决方案2】:

文件在“工作目录”中创建。不同的 IDE 和执行环境对工作目录的设置不同。如果您使用的是 Xcode,那么当您开始调试时,工作目录将设置为您为当前方案设置的任何内容:

screenshot on google image search

如果您从命令行运行程序,那么工作目录就是您所在的目录。即,命令cd 设置工作目录。您可以使用命令pwd 打印工作目录的名称。

【讨论】:

    猜你喜欢
    • 2021-12-22
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-19
    • 2011-06-28
    相关资源
    最近更新 更多