2

コードで使用したいプログラムは、コマンド ライン ツールです。

ユーザー./programが最初に入力すると、ユーザーはプログラムが提供するコマンドを使用できます。

ソースコードで 2 つのコマンドを実行したい ( myCode.cpp):

#include <stdio.h>    
#include <stdlib.h>    
int main ()
{
  int i;
  printf ("Checking if processor is available...");
  if (system(NULL)) puts ("Ok");
    else exit (EXIT_FAILURE);
  printf ("Executing command ...\n");
  system ("./program");
  system ("command1");
  system ("command2");

  return 0;
}

execute my program( ./myCode) の後、プログラムは起動されますが、2 つのコマンドは実行されません。

2つのコマンドを実行する方法は?

プログラムを終了してから、次のコード行を実行するにはどうすればよいですか? (後system())

4

2 に答える 2

1

popen()の代わりに を使用system()し、プログラムが標準入力からコマンドを受け取ると仮定して、FILE*によって返されるコマンドを次のように記述しpopen()ます。

FILE* pin = popen("./program", "w");
fprintf(pin, "command1\n");
fprintf(pin, "command2\n");
fflush(pin);
pclose(pin); // this will wait until ./program terminates
于 2013-06-14T14:01:54.303 に答える