プログラム実行

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
x_kai
記事: 29
登録日時: 14年前
連絡を取る:

プログラム実行

#1

投稿記事 by x_kai » 13年前

いま、入力された文字を検索して、
入力された文字とマッチする実行ファイルがあれば実行する
という機能をC言語で作成しているのですが、

どうやっていいかまるで分かりません。

system関数を使う場合、
system(command); このように、変数を入れることは出来ますが、

この場合、入力された実行ファイルの名前がシェルで実行されてしまいます。
ずっと考えているのですが、なかなかいい答えが見当たらないので、

何かアドバイス等があればお願いします。。

box
記事: 2002
登録日時: 14年前

Re: プログラム実行

#2

投稿記事 by box » 13年前

x_kai さんが書きました: 入力された文字とマッチする実行ファイルがあれば実行する
こういう風にしたいけれど、
x_kai さんが書きました: この場合、入力された実行ファイルの名前がシェルで実行されてしまいます。
こういう方法はとりたくない、ということでしょうか。

実行できればよいのであれば、シェルで実行しようがどうしようが別にいいのではないか、
という考えではまずいですか?
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

x_kai
記事: 29
登録日時: 14年前
連絡を取る:

Re: プログラム実行

#3

投稿記事 by x_kai » 13年前

box さんが書きました:
x_kai さんが書きました: 入力された文字とマッチする実行ファイルがあれば実行する
こういう風にしたいけれど、
x_kai さんが書きました: この場合、入力された実行ファイルの名前がシェルで実行されてしまいます。
こういう方法はとりたくない、ということでしょうか。

実行できればよいのであれば、シェルで実行しようがどうしようが別にいいのではないか、
という考えではまずいですか?
すみません、説明不足でした。

例えば、a と入力されたら、
command変数には"a"と代入されるので、

system(command); の場合だと、
シェルでは、エラーになってしまいます。

プログラムの実行には、

./a このようにしなければいけないので、
どうしようかと考えているところなのです。

box
記事: 2002
登録日時: 14年前

Re: プログラム実行

#4

投稿記事 by box » 13年前

a
と入力したら
./
の後ろに
a
をくっつけるような処理(sprintfとかstrcatとかを使って)をして、
system()に渡すだけではないのでしょうか。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

x_kai
記事: 29
登録日時: 14年前
連絡を取る:

Re: プログラム実行

#5

投稿記事 by x_kai » 13年前

box さんが書きました:a
と入力したら
./
の後ろに
a
をくっつけるような処理(sprintfとかstrcatとかを使って)をして、
system()に渡すだけではないのでしょうか。
出来ました。
初歩的なことですみませんでした、また質問させていただきます。

閉鎖

“C言語何でも質問掲示板” へ戻る