質問: 実行ファイルのパスを取得したい c言語で自分自身がどのディレクトリに存在しているか 知りたいのです。 簡単に例を挙げて説明します。 unix c言語で cmd1 という実行ファイルを作成しました。 環境変数は以下のように定義されていたとします。 path=/bin:/usr/bin /binにcmd1を配置してカレントディレクトリ/homeにおいて cmd1を実行、cmd1プログラム内で"/bin/cmd1" を取得したいのです。 続けて、/bin/cmd1を/usr/bin/cmd1移動して、cmd1を実行すれば、 プログラム内で"/usr/bin/cmd1"を取得できるコーディングをしたいのです。 typeコマンドのような事をc言語で行いたいのですが。 お分かりの方いらっしゃいましたら教えてください。 よろしくお願いします。
回答: >#4殿 話をドリフトさせるのはやめてください。 >windowsで自分自身のファイルを取得したい場合はgetmodulefilenameを使います。 そんな要求はしていません。 >コマンドプロンプトなどで実行した場合はフルパスになりません。 試したんですか? こちらは書いたとおりのことを試してみて、書き込んでるんですよ。c:\windows\commandに実際にcmd1.exeをコピーし、コマンドプロンプトからc:\へ移動してcmd1とタイプしてごらんなさい。 c:\windows\command\cmd1.exe と表示されますよ。