C 標準ライブラリは、関数system
を提供popen
し、コマンドを実行します。しかし、コマンドが存在するかどうかを検出するポータブルな方法はありますか?
7406 次
4 に答える
5
いいえ、そのための標準 C 関数はありません。
Unix のみの解決策は、分割(コロン)getenv("PATH")
し、ディレクトリ内で:
実行可能なコマンド (関数を含む) を見つけようとすることです。stat
于 2009-05-21T00:30:25.873 に答える
5
これを行うための完全に移植可能な方法はないと思いますが (一部のシステムはコマンド インタープリターをサポートしていません)、system()
コマンドの実行中にエラーが発生しなかった場合は 0 を返します。コマンドを実行してから、システムの戻り値を確認するだけでよいと思います。
コマンド インタープリターが使用可能かどうかを確認するには、呼び出しsystem( NULL )
てゼロ以外の値を確認します。
于 2009-05-21T01:04:18.987 に答える