Funkcja, przyjmująca jako argument inny program.

0

Witam, dopiero co zaczynam przygody z językiem C. Mam następujący problem: jak zrealizować program, który wywołuje funkcję, która przyjmuje jako argument inny program? Wszystkie podpowiedzi mile widziane, dziękuję i pozdrawiam:)
Mój pomysł jest taki żeby użyć funkcji exec, ale trochę mam problem z jej składnią w tym konkretnym przypadku

0

Co to jest „funkcja przyjmująca jako argument inny program”? Co ta funkcja miałaby z tym programem zrobić?
Napisz co chcesz osiągnąć.

0

Chciałbym użyć execa, gdzie jego argumentem będzie string z nazwą programu + ew. argumentami. A funkcja to już randomowa, chodzi mi wyłącznie o to jak wciągnąć ten program do naszej funkcji i użyć go jako argument.

1

Nadal nie wiadomo o co ci chodzi.
Co to znaczy „użyć execa”.
Co to znaczy „wciągnąć program” i „użyć go jako argument”.

cb.png

Hmm. Czy chodzi może o program uruchamiany w ten sposób uruchom.exe innyprogram.exe parametry, co spowoduje uruchomienie innyprogram.exe parametry?
Podobnie jak robi to windowsowe polecenie start.

0

Kurczę, tyle wiem co napisałem, takie dostałem polecenie wykonania takiego programu, na zajęciach ostatnio przerabialiśmy właśnie budowanie prostych funkcji i wykorzystywanie tych execów, tylko tyle:(

Czy na przykład jest możliwe takie otwarcie programu:
./mójprogram ./program2
i ten program 2 bylby argumentem dla mojego programu

0

wersja minimum:

system("excel.exe jakisplik.xlsx");

Jako że jesteś newbie nie sądzę, żebyś chciał robić coś bardziej zaawansowanego.

0

Czegoś takiego też chciałem użyć, da radę ?
execl( "prog", "prog", "p1", "p2", NULL );
tylko nie wiem jak zrobić żeby ta moja funkcja, przyjmowała te argumenty , p1 p2

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>


int main(int argc, char *argv[]) {
int pid = 0;
int i =0;
int status = 0;
		if( (pid=fork())==0 )
	{
		execl( "my_prog", "my_prog", "1", "2", NULL );	
	}
int k1;
int k2;               
if(argv[1] && argv[2])
{
k1 = atoi(argv[1]);
k2 = atoi(argv[2]);
}
printf("Parametr 1: %d \n",k1);
printf("Parametr 2: %d \n",k2);
return 0;
}

Teraz chce żeby ten main przyjął argumenty 1 i 2

1 użytkowników online, w tym zalogowanych: 0, gości: 1