質問

皆様にお伝えしたくて書き込み、cプログラムインプリメンテーションです。コマンドのようにexecv()に要する経路、c文字列です。あるコマンドを返し現在のパス、cスタイルの文字列?

役に立ちましたか?

解決

getcwd():

概要

#include <unistd.h>

char *getcwd(char *buf, size_t size);

説明

getcwd() 機能は、場所の絶対パス名は、現在の作業ディレクトリの配列によって指定された buf、buf.パス名にコピーされる配列は含まない部品とシンボリックリンク.の サイズ 引数のサイズをバイトの文字配列によって指定されたの buf 引数です。の場合 buf nullポインタの行動のgetcwd()は指定されていません。

戻り値

無事に修了した getcwd() 行を返します buf 引数です。その他、 getcwd() 行を返し、nullポインタ設定 errno を示すこと、エラーとなります。配列の内容によって指定された buf して定義されていません。...

他のヒント

パス 引数execv()には、パスへの応用をご希望の実行ではなく、現在の作業ディレクトリを返すことができるようgetcwd())はシェルの検索パスを返すことができるようgetenv("PATH")).

によって何をやっているはありませんが、できればよりマイルのシステム()関数はCライブラリよりも低いレベルのexec()です。

この ない ANSI C:

#include <unistd.h>

char path[MAXPATHLEN];
getcwd(path, MAXPATHLEN);
printf("pwd -> %s\n", path);

場合、パスは相対パス対応することができるでしょうを使用'.'または'./' しています。くなった場合での作業ができアクセスすることとする。

私はリファレンスマニュアルを作ることではない正確な答えです。

必要なものだけでは環境変数PWD(現在の作業ディレクトリ)

お使いいただくことによって、図書館にあるものが標準となっていますがlinuxのヘッダを表します。

私見を見出すことができればそれを見いだすのです。

編集:

と思っていたが、getenv() 私の場合も必要になシステムコマンドの実行を必要と各種binにパスを置くパス

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top