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ランキング
-
ArduinoのジャイロモジュールMP...
-
mallocについて
-
C言語をコンパイルするとコンピ...
-
Windows Formアプリからコンソ...
-
大量のデータを読み込んで表示...
-
システムエンジニアの適正について
-
プログラミングの授業の課題です
-
C言語 列挙型(enum型)変数について
-
パイソン。If elseの挙動につい...
-
擬似コード 長さがmの配列でな...
-
プログラムを斜めに並べる
-
double型が正常に認識されてい...
-
gccを行ってもexeファイルが生...
-
プログラムが書けません。
-
C言語 配列と関数の練習問題
-
MACで動く実行ファイルをWindow...
-
int16_t の _t は何?
-
PC画面を録画するプログラムでd...
-
C言語階乗の総和を求める
-
Office Component Suite
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
gccを行ってもexeファイルが生...
-
あなたは、Excelはどうやって学...
-
WindowsのCapsLock(キャップス...
-
質問失礼します。 プログラム言...
-
double型が正常に認識されてい...
-
Notepad++の関数リスト表示でC...
-
どちのほうがすきですか?
-
Stuck
-
Notepad++の関数リスト表示の変...
-
ArduinoでMouse関数を使用して...
-
C言語の関数と配列に関する質問
-
C言語って古いですか?
-
Linuxでの開発環境構築や設定の...
-
Bitcoin、BTCはブロックチェー...
-
C++6.0でのresource.hについて
-
MACで動く実行ファイルをWindow...
-
C言語 列挙型(enum型)変数について
-
c言語
-
大量のデータを読み込んで表示...
-
こんなことてしますか??
おすすめ情報