Cでコマンド処理を調べ始めましたが、このCプログラムで問題が発生しました。意図していない限り、ls
コマンドを実行しています。Cプログラムはコマンドを実行する前に実行します
のGCC情報:
gcc version 6.2.1 20161124 (Debian 6.2.1-5)
これはコードです:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i;
printf("Is command processor available?\n");
if (system(NULL))
{
printf("Command processor available!\n");
}
else
{
printf("Command processor not available!\n");
exit(1);
}
printf("Executing command ls");
i=system("ls");
printf("Returned value is: %d.\n",i);
return 0;
}
私が話しているコードの一部は、この特定の行です:プログラムの場合
printf("Executing command: ls");
そのコードで実行された出力は次のとおりです。
Is command processor available?
Command processor is available
systemProcessing systemProcessing.c
Executing command: lsReturned value is: 0.
実際
に語った。しかし、私は新しい行「\ n」を持つオフコードを完了すると、期待どおり、その出力がされる前に、それは、コマンドを実行します。
Is command processor available?
Command processor is available
Executing command: ls
systemProcessing systemProcessing.c
Returned value is: 0.
なぜそれがあります文字列に改行を追加すると、コードは実行前に何をしているのかを表示しますが、実行せずに実行すると、それが実行されます。
答えは有益で、これをコードに実装すると魅力的でした! いつかあなたと同じくらい知りたいと思っています:) ありがとう! – Bl4ckH4z3