いま、入力された文字を検索して、
入力された文字とマッチする実行ファイルがあれば実行する
という機能をC言語で作成しているのですが、
どうやっていいかまるで分かりません。
system関数を使う場合、
system(command); このように、変数を入れることは出来ますが、
この場合、入力された実行ファイルの名前がシェルで実行されてしまいます。
ずっと考えているのですが、なかなかいい答えが見当たらないので、
何かアドバイス等があればお願いします。。
プログラム実行
Re: プログラム実行
こういう風にしたいけれど、x_kai さんが書きました: 入力された文字とマッチする実行ファイルがあれば実行する
こういう方法はとりたくない、ということでしょうか。x_kai さんが書きました: この場合、入力された実行ファイルの名前がシェルで実行されてしまいます。
実行できればよいのであれば、シェルで実行しようがどうしようが別にいいのではないか、
という考えではまずいですか?
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。
Re: プログラム実行
すみません、説明不足でした。box さんが書きました:こういう風にしたいけれど、x_kai さんが書きました: 入力された文字とマッチする実行ファイルがあれば実行する
こういう方法はとりたくない、ということでしょうか。x_kai さんが書きました: この場合、入力された実行ファイルの名前がシェルで実行されてしまいます。
実行できればよいのであれば、シェルで実行しようがどうしようが別にいいのではないか、
という考えではまずいですか?
例えば、a と入力されたら、
command変数には"a"と代入されるので、
system(command); の場合だと、
シェルでは、エラーになってしまいます。
プログラムの実行には、
./a このようにしなければいけないので、
どうしようかと考えているところなのです。
Re: プログラム実行
a
と入力したら
./
の後ろに
a
をくっつけるような処理(sprintfとかstrcatとかを使って)をして、
system()に渡すだけではないのでしょうか。
と入力したら
./
の後ろに
a
をくっつけるような処理(sprintfとかstrcatとかを使って)をして、
system()に渡すだけではないのでしょうか。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。
Re: プログラム実行
出来ました。box さんが書きました:a
と入力したら
./
の後ろに
a
をくっつけるような処理(sprintfとかstrcatとかを使って)をして、
system()に渡すだけではないのでしょうか。
初歩的なことですみませんでした、また質問させていただきます。