cocoa - 确定启动工具的目录?

时间:2012-04-21 16:46:16

标签: cocoa terminal command-line-arguments

我有一个用Cocoa编写的命令行工具。我们称之为processFile。因此,如果我在终端中并输入命令./processFile foo,它会在与processFile的可执行文件相同的目录中查找名为foo.html的文件。如果它找到一个,它会读取它并做一些东西来创建fooProcessed.html。

现在我想修改我的工具,以便它在启动它的目录中查找foo.html。所以,如果我在当前目录〜/ documents / html的终端中,并且processFile可执行文件在usr / bin中,我输入

processFile foo

它将找到并处理文件〜/ documents / foo.html。

问题是我不知道如何获取调用该工具的目录。我怎么能这样做?

1 个答案:

答案 0 :(得分:3)

这是当前的工作目录。首先,任何只使用其名称和无路径访问文件的尝试都将自动使用工作目录。所以,如果您只是选择“foo”,请附加“.html”,并尝试打开该文件,这将起作用。如果用户指定了相对路径,例如“subdir / foo”,那么它也可以工作。它将解析从当前工作目录开始的相对路径。

您还可以使用getcwd()例程查询工作目录。