내 코드에서 사용하려는 프로그램은 명령 줄 도구입니다.내 C 코드에서 프로그램 실행
사용자가 먼저 ./program
을 입력하면 사용자가 프로그램에서 제공하는 일부 명령을 사용할 수 있습니다.
나는 내 소스 코드 (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;
}
이 후 내 프로그램 (./myCode
)을 실행, 프로그램이 시작되지만이 명령은 실행되지 않습니다.
두 명령을 실행하는 방법은 무엇입니까?
프로그램을 종료 한 후 다음 코드를 어떻게 실행합니까? (system()
이후)
system() repots 오류를 확인 했습니까? –
'system' 명령은 셸에서 인수를 실행하므로 각 호출은 다른 호출과 독립적입니다. 두 명령을 프로그램에 전달하지 않습니다. C 프로그램과'./program' 사이에 파이프를 여는 방법을 배우려면 http://linux.die.net/man/3/popen을보십시오. –
양방향 통신으로 새 프로세스를 시작하는 방법은 http://stackoverflow.com/questions/5094063/fork-pipe-and-exec-process-creation-and-communication –