2

現在実行中のコマンド ライン C プログラムがあり、同じディレクトリでファイルを読み取るか別のバイナリを実行したいとします。

現在の作業ディレクトリを探しているわけではないことに注意してください。ユーザーは、次のいずれかの方法 (およびおそらく私が知らない他の方法) で、元のプログラムを呼び出した可能性があります。

  • ../../プログラム
  • /ホーム/マット/プログラム
  • PATH=$PATH:/home/matt プログラム

理想的には、MinGW を介して UNIX システムと Windows で動作するものを探しています。

4

2 に答える 2

2

http://c-faq.com/osdep/exepath.html

C FAQ によると、確実に行うことはできません

/proc/self/exeなしで現在の実行可能ファイルのパスを見つける

于 2009-09-09T05:50:46.063 に答える
1

getcwd() と dirname(argv[0]) の連結

于 2009-09-09T05:50:00.777 に答える