[cppll_novice:0763] Re: プログラムが決まったファイルを読み込む場合。
- Subject:
- [cppll_novice:0763] Re: プログラムが決まったファイルを読み込む場合。
- From:
- Lichtenstein <lichtenstein@...>
- Date:
- Tue, 18 Jan 2005 11:25:30 +0900
- X-Mailer:
- EdMax Ver3.05 (On Trial)
- Message-Id:
- In-Reply-To:
- 756
- References:
- 756
こんにちは。Lihctenです。
↓の記事を参考に、tetubouさんにとって最適な方法を選んでみてはどうでしょうか?
http://www.adl.nii.ac.jp/~moro/unix-programmer/faq-j_2.html#SEC23
個人的には、OSの機能に依存するのが最も単純な解で、間違いが無いと思っています。
以上
tetubou <tetubou@...> wrote:
> いつもお世話になっている tetubou です。
>
> ゲームなどの画像データのように、決まった名前の
> ファイルをプログラムで読み込む場合のことです。
> 例えば、実行ファイルとデータファイルが同じディ
> レクトリに存在する場合、
>
> #include <fstream>
>
> int main()
> {
> std::ifstream data( "img.dat" );
> data.close();
> return 0;
> }
>
> のようにしてしまうと、実行ファイルとデータファイ
> ルがあるディレクトリの外から実行ファイルを起動す
> ると、データファイルが読み込めなくなってしまいま
> す。
> このような場合、普通はどのようにすれば解決できる
> のでしょう?さんざん調べたのですが、根本的な解決
> にはなりませんでした。
>
>
> --[PR]------------------------------------------------------------------
> ★☆★ 「懸賞侍」見参!! ★☆★
> 侍ゲームで楽しく遊んで、豪華賞品を当てちゃおう!
> この戦国懸賞時代を制するのは君だ!
> さあ、バッサバッサと当ててしまえ!!!
> http://www.kenshosamurai.com/regist.html?aid=frml041227
> ------------------------------------------------------------------[PR]--
> ■GMO GROUP■ Global Media Online www.gmo.jp
>
>
>
↓の記事を参考に、tetubouさんにとって最適な方法を選んでみてはどうでしょうか?
http://www.adl.nii.ac.jp/~moro/unix-programmer/faq-j_2.html#SEC23
個人的には、OSの機能に依存するのが最も単純な解で、間違いが無いと思っています。
以上
tetubou <tetubou@...> wrote:
> いつもお世話になっている tetubou です。
>
> ゲームなどの画像データのように、決まった名前の
> ファイルをプログラムで読み込む場合のことです。
> 例えば、実行ファイルとデータファイルが同じディ
> レクトリに存在する場合、
>
> #include <fstream>
>
> int main()
> {
> std::ifstream data( "img.dat" );
> data.close();
> return 0;
> }
>
> のようにしてしまうと、実行ファイルとデータファイ
> ルがあるディレクトリの外から実行ファイルを起動す
> ると、データファイルが読み込めなくなってしまいま
> す。
> このような場合、普通はどのようにすれば解決できる
> のでしょう?さんざん調べたのですが、根本的な解決
> にはなりませんでした。
>
>
> --[PR]------------------------------------------------------------------
> ★☆★ 「懸賞侍」見参!! ★☆★
> 侍ゲームで楽しく遊んで、豪華賞品を当てちゃおう!
> この戦国懸賞時代を制するのは君だ!
> さあ、バッサバッサと当ててしまえ!!!
> http://www.kenshosamurai.com/regist.html?aid=frml041227
> ------------------------------------------------------------------[PR]--
> ■GMO GROUP■ Global Media Online www.gmo.jp
>
>
>
▼ スレッド
- 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