[cppll_novice:0765] Re: プログラムが決まったファイルを読み込む場合。
- Subject:
- [cppll_novice:0765] Re: プログラムが決まったファイルを読み込む場合。
- From:
- Hisao Tsutsumi <tsutsumi@...>
- Date:
- Tue, 18 Jan 2005 11:38:22 +0900
- X-Mailer:
- Becky! ver. 2.12.01 [ja]
- Message-Id:
- <20050118112459.7292.TSUTSUMI‐at‐pf.highway.ne.jp>
- In-Reply-To:
- 762
- References:
- 761 762
堤です。
あやふやなので出すのを迷いましたがメールしちゃいます。
> …欲しいのは現dirぢゃないのか。実行コードのあるdirか。うーむ…
> UNIX系にそんなAPIあるっけ? ふぉろーよろしく > だれぞ
UNIXでGetModuleFileName()と同じ事を行う一般的な方法は無い
(はず)です。
Linuxだと
readlink("/proc/self/exe", buf, bufsize);
みたいな感じで実行モジュールのフルパスを入手できたと思います。
これにdirnameを組み合わせれば何とかできるかも。
#手元にLinuxがないので自信なし……。
#誰かフォローをお願いします。m(_ _)m
ではでは。
--
Hisao Tsutsumi <tsutsumi@...>
あやふやなので出すのを迷いましたがメールしちゃいます。
> …欲しいのは現dirぢゃないのか。実行コードのあるdirか。うーむ…
> UNIX系にそんなAPIあるっけ? ふぉろーよろしく > だれぞ
UNIXでGetModuleFileName()と同じ事を行う一般的な方法は無い
(はず)です。
Linuxだと
readlink("/proc/self/exe", buf, bufsize);
みたいな感じで実行モジュールのフルパスを入手できたと思います。
これにdirnameを組み合わせれば何とかできるかも。
#手元にLinuxがないので自信なし……。
#誰かフォローをお願いします。m(_ _)m
ではでは。
--
Hisao Tsutsumi <tsutsumi@...>
▼ スレッド
- 756: いつもお世話になっている tetubou です。 ゲームなどの画像データのように、決まった名前の フ tetubou
- ├757: "int main()" の部分を "int main(int argc, char* argv[])" に変更して、argv[0]から実行exeのファイルパスを取 恣意の
- │├758: 老婆心ながら── argv[0] がロードモジュールのfull-pathになってる ってのはOS依存なのでご注意 FUKUDA, Fumiki
- ││└760: επιστημηさんの仰る通り、私の環境では argv[0] はフルパスに なっていませんでした。 自分 tetubou
- ││ └761: うーん…己自身がどこにあるかを知る、可搬性のあるAPIが 見当たらないからには条件コンパイ FUKUDA, Fumiki
- ││ └762: επιστημη@別解 Boost使いましょうか。 boost::filesystem::current_path() なんてのがあります。 ドキュ FUKUDA, Fumiki
- ││ ├765: あやふやなので出すのを迷いましたがメールしちゃいます。 Linuxだと readlink("/proc/self/exe", buf, bu Hisao Tsutsumi
- ││ ├766: UNIXではないですが、Qtにはありますね。 (実はQt使ったことないけど(^^;)) QApplication::applicationDirPa T.Sawamoto
- ││ ├767: それを知る方法は UNIX にはありません。 で、argv[0] の方も意味がある文字列になっているとは Masamichi Takatsu
- ││ └768: わかんないすが、 1.単純に環境変数に特定ディレクトリ を設定しておいて、getenv で読む 2.argv[1 OKI miyuki
- │└759: 私は、argv[0]が指す文字列はコマンドラインで実行ファイル名として タイプした文字列そのもの tetubou
- │ ├764: そすると、モジュールそのものを"モジュールディレクトリを基準に動作"する ものから"指定さ 恣意の
- │ └778: やはり、環境依存するかビルドの際に対応するという 方法になってしまうんですね。 tetubou
- └763: ↓の記事を参考に、tetubouさんにとって最適な方法を選んでみてはどうでしょうか? http://www.adl.ni Lichtenstein