• 締切済み

引数で指定されたファイルを実行する

実行する時に、引数としてファイル名を指定すると、そのファイルに書かれたスクリプトを実行してプログラムを終了する。 上記のようなCのプログラムを作りたいのですが、まったく見当がつかずに困っています。どうすればよいかご教授ください。

みんなの回答

  • mikaemi
  • ベストアンサー率50% (33/65)
回答No.3

一応、標準ライブラリの system() を呼べば、 できるはずですが。。。system() を使うということは、 外部環境に依存するので、確実ではなく、移植性も低いですけどね。 しかし、「自分で fork() して中身を解析して実行する」、 みたいな処理をコーディングするよりはましでしょう。 ====== #include <stdlib> int main(int argc, char *argv[]) { int i; for (i = 1; i < argc; ++i) system(argv[i]); return 0; }

すると、全ての回答が全文表示されます。
  • zwi
  • ベストアンサー率56% (730/1282)
回答No.2

環境により違います。 WindowsやLinuxなどOS毎にやり方が違うので、開発環境と実行環境を明らかにしてください。シェルスクリプトというからには、Linuxだとは思うのですが。

felon
質問者

補足

回答ありがとうございます。 環境ですか…学校はリナックスで家のPCはウィンドウズなんですが。。  聞きたい内容が少し変わったので、もう一度質問を書き直します。それにお答えいただければとてもありがたいです。

すると、全ての回答が全文表示されます。
  • MrBan
  • ベストアンサー率53% (331/615)
回答No.1

「どんなスクリプトか」にもよりますが、 多分考えているよりは面倒だと思いますよ。 独自言語で簡単なものから作っていくのもいい勉強ですが、 構文解析とか意味解析とかからやらないといけないので。 ありものベースだと比較的容易そうなのは、CでなくC++ですが、 PythonスクリプトでBoost.Pythonとか、WindowsならWSHとか。

felon
質問者

補足

回答ありがとうございます。 スクリプトは、シェルスクリプトです。 申し訳ないですが、C言語で作成するように決められているので、C言語での方法をお願いします。

すると、全ての回答が全文表示されます。

関連するQ&A