如何在 Mac 上设置 Code::Blocks 上的工作目录?

How Do I Set the Working directory on Code::Blocks on Mac?

我正在学习 C 编程,所以我完全是初学者。

我在 Mac 上使用 Code::Blocks 12.11,我有 Xcode 并下载了命令行包,所以一切似乎都在按照我的意愿进行。

我的问题是,当我打开一个 .txt 文件时,它没有出现在包含源代码和其他文件的目录中,我在 Finder 的“我的所有文件”文件夹中找到了它。

我正在使用以下步骤创建项目 > 文件 > 新建 > 项目 > 控制台应用程序 > 然后命名项目并将其保存到我为所有程序创建的文件中。

除了.txt 文件外,我以前的所有项目都保存在该目录下整齐的文件夹中。

这是我的代码。

/**

Automatic Control and Systems Engineering126 - Problem Sheet 2.Q2
Project: Opening a Text File for Writting
Author: Craig McAllister
Date: 23.02.17

**/

#include <stdio.h>

main()
{
      FILE *myFile;
      myFile=fopen("first.txt","w"); // open first.txt for writing (or create it if it doesn't exist) - this will be in the same folder as the c program
      fprintf(myFile,"Hello World!!!\n");
      fclose(myFile);
}

我在另一个类似的问题上读到,如果我给它一个直接的路径,它就会起作用,而且在某种程度上它确实起作用了;

myFile=fopen("/Users/craigmcallister/Documents/CodeBlocks/First_Text/first.txt","w");

这行代码将 .txt 文件保存在包含我的源代码的同一个项目文件中,这离我想要的解决方案更近了一步。

我希望 .txt 文件自动保存在保存项目其余部分的工作目录中,在这种情况下,让 .txt 文件自动打开(如果可能的话)?

我怀疑我的工作目录设置不正确,但由于我对此很陌生,所以我不知道这会是什么样子,也不知道我将如何更改设置。

如果有任何magician/wizard可以帮助结束这种痛苦,我将永远感激:)

如果不指定absolute path, fopen() will open/create files relative to the current working directory

看起来像Code::Blocks,默认工作目录不是项目目录。快速搜索 Code::Blocks 论坛似乎表明工作目录默认为 macOS 上用户的主目录。

您似乎可以在“项目”>“属性”>“构建目标”>“执行工作目录”中设置用于 运行 您的程序的工作目录。如果您将其设置为您的源文件所在的目录,您的文件也应该在该目录中创建。

作为替代解决方案:

  • Project Worskspace 中创建一个空文件。
  • 运行项目,然后Codeblocks会询问是否要保留更改的内容
  • 单击,然后转到空文件选项卡查看程序输出。