c++ - 带有命令行应用程序的 MacOSX C++ 工作目录

标签 c++ macos command-line xcode4.1

我一直在努力弄清楚如何将工作目录设置为与我的程序相同的目录。由于我不熟悉 Objective-C 和 Cocoa,我将其编写为一个基本的命令行应用程序,即标准输入/输出。出于某种原因,工作目录设置为 $HOME 目录,而不是与文件本身相同的目录。我知道使用

system("PWD");

会回显路径,但格式不可用(至少对我而言)。

编辑:只是为了澄清一点,我需要能够在不仅仅是我的机器/用户上使用文件流的相对文件路径。

最佳答案

您可以在方案编辑器中设置您的工具从 Xcode 运行时的启动目录。在工具栏中,单击您的项目名称(> 左侧),然后单击“编辑方案...”,单击左侧列表中的“运行”,然后单击右侧的“选项”选项卡,您会看到使用自定义工作目录的选项。

请注意,不能保证您在不区分大小写的文件系统上,因此您应该使用小写的 pwd 否则您的 system(3) 调用将失败. iOS 从不使用不区分大小写的文件系统,而 OS X 可以安装在不区分大小写或区分大小写的文件系统上。 getcwd(3) 在任何情况下都更有效/更合适。

此外,如果可以,您应该升级到当前版本的 Xcode。早期的 4.x 版本边缘非常粗糙(有些人会说 4.4/4.5 仍然如此,但它们至少更稳定)。

关于c++ - 带有命令行应用程序的 MacOSX C++ 工作目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11926658/

相关文章:

c++ - VS2010编译错误。 stdio.h(378) : fatal error C1003: error count exceeds 100; stopping compilation

C++构造函数原型(prototype)参数

mysql - 使用macports安装mysql出错

swift - 在非沙盒中使用 Cocoa NSSavePanel 会导致断言失败

windows - 如果 Windows 中不存在目录,则使用 for 循环和列表创建目录

c++ - 构造函数定义的语法

java - 为什么会出现这些错误?

Android:我可以在我的应用程序中使用 adb 命令吗?

java - Java中的命令行进度条

c++ - 如何在另一个类的对象上调用一个类的函数?