![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
C言語にてsystem関数を用いてシェルを起動するというプログラムを作成しています。
現在はsystem関数を実行してもシェルが実行されません。(ファイルが作成されません)
さらに、main関数が無限ループしたような挙動になってしまいます。
何か原因が分かればと思い質問いたします。
<sample.c>
#define DF_touch ( "shl/SS_touch.csh" )
#define NM ( "aa.c" ) /* ファイル名 */
int main()
{
/* シェルの戻りを取得するサンプル */
int i;
char str_cmdbuf[255];
printf("開始\n");
memset( &str_cmdbuf[0], 0x00, sizeof( str_cmdbuf ) ) ;
sprintf( &str_cmdbuf[0], "%s %s", DF_touch, NM ) ;
printf("実行コマンド=%s\n",str_cmdbuf);
i = system( &str_cmdbuf[0] );
printf("shlの戻り値=%d\n",WEXITSTATUS(i) ); /* 0になってるか*/
return ( 0 );
}
<SS_touch.csh>
#!/bin/csh
# コマンド名の定義
set COMMANDNMAE=/bin/touch
# コマンドの実施
$COMMANDNMAE $1>& /dev/null
exit 0
以上です。
No.1ベストアンサー
- 回答日時:
system って OS などの環境に依存するところもあるはずだからちゃんと書いてほしいんだけどなぁ....
とりあえず, 実行しようとしている
shl/SS_touch.csh
は存在しているのですか? そして, 実行できるようになっていますか?
つまり, 手でそのコマンドを実行するときにはちゃんと動くのですか?
この回答への補足
shl/SS_touch.csh は存在しています。
手動で実行すると、挙動がおかしい(ループするような挙動)です。
OSはRedHatです。
文字コードをSJISにて実行する必要があります。
No.2
- 回答日時:
system に特殊な魔法があるわけじゃないので, 「手で入力しておかしな挙動をする」のなら system 経由で実行してもおかし
な挙動をするに決まっています.お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# str[j++]の意味 2 2022/08/30 16:20
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複素関数はどこはあんまりやら...
-
c言語のリダイレクトによる円...
-
プログラム言語について c言語...
-
Python、プログラミングについ...
-
プログラミングでArduinoのc++...
-
0 == False はいいけど
-
CPUが16bitでも32bitOSでコンパ...
-
C言語について。
-
だれがとけるの?
-
[C言語]fputsとfprintfの違い
-
double型が正常に認識されてい...
-
gcc13.2のバグ?
-
サブルーチンを使った再帰的な...
-
バッチファイルで以下のような...
-
インクリメント演算子のみを用...
-
ArduinoでMouse関数を使用して...
-
VisualStudioで、コードを印刷...
-
C#でゲームのチートを作ること...
-
写真のプログラムは、1からnま...
-
関数ポインタの高速化のメリット
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラム言語について c言語...
-
C#でログファイルにファイルパ...
-
Python、プログラミングについ...
-
バッチファイルで以下のような...
-
プログラミングの課題がわから...
-
だれがとけるの?
-
0 == False はいいけど
-
CPUが16bitでも32bitOSでコンパ...
-
なんで
-
c++でテンプレートのコードでわ...
-
プログラマーです。このDB設計...
-
c言語のリダイレクトによる円...
-
プログラミングでArduinoのc++...
-
大量のデータを読み込んで表示...
-
応用情報技術者試験の令和元年...
-
複素関数はどこはあんまりやら...
-
gccを行ってもexeファイルが生...
-
c言語
-
swift言語の最適化 swift最適化...
-
VisualStudio2022でC言語プログ...
おすすめ情報