1

Cocoaで記述されたコマンドラインツールがあります。それをprocessFileと呼びましょう。したがって、ターミナルにいて、コマンド./processFile fooと入力すると、processFileの実行可能ファイルと同じディレクトリでfoo.htmlという名前のファイルが検索されます。見つかった場合は、それを読み取り、fooProcessed.htmlを作成するためにいくつかの処理を実行します。

次に、ツールを変更して、ツールが起動されたディレクトリでfoo.htmlを検索するようにします。したがって、現在のディレクトリが〜/ documents / htmlのターミナルにいて、processFile実行可能ファイルがusr / binにある場合は、次のように入力します。

processFile foo

ファイル〜/ document/foo.htmlを見つけて処理します。

問題は、ツールが呼び出されたディレクトリを取得する方法がわからないことです。どうやってやるの?

4

1 に答える 1

3

これが現在の作業ディレクトリです。まず、名前だけを使用してファイルにアクセスしようとすると、パスは自動的に作業ディレクトリを使用しません。したがって、単に「foo」を取得し、「。html」を追加してファイルを開こうとすると、それは機能します。ユーザーが「subdir/foo」のような相対パスを指定した場合、それも機能します。現在の作業ディレクトリから始まる相対パスを解決します。

getcwd()ルーチンを使用して作業ディレクトリを照会することもできます。

于 2012-04-21T17:06:23.770 に答える