PDA

Visualizza la versione completa : eseguire programma da un altro[C++]


Metflar
23-04-2008, 21:02
allora ho dei programmi in una cartella relativa al programma principale che quando scrivo il nome di uno di quei programmi li esegue.
ho due dubbi:
1)come li eseguo?
2)cm indico il path relativo(sto su linux)
:ciauz:

MItaly
23-04-2008, 21:06
1) Con fork ed exec oppure con system.
2) In che senso?

Metflar
23-04-2008, 21:12
Originariamente inviato da MItaly
1) Con fork ed exec oppure con system.
2) In che senso?
metti che il mio comando ciao e sta in Commands che una sottocartella della cartella del mio programma principale devo passargli il path relativo ma nn funziona su linux :dh:

MItaly
23-04-2008, 21:21
I percorsi relativi si riferiscono alla cartella corrente del processo, che per differente a seconda di come lo avvii; tu attualmente come fai partire il processo a cui passi il percorso relativo?

Metflar
24-04-2008, 10:32
Originariamente inviato da MItaly
I percorsi relativi si riferiscono alla cartella corrente del processo, che per differente a seconda di come lo avvii; tu attualmente come fai partire il processo a cui passi il percorso relativo?
in che senso cm lo faccio partire? :master:

mondobimbi
24-04-2008, 10:55
se da un programma devi par fartire un altro programma devi usare quanto ti ha suggerito MItaly punto 1 (scelta migliore).
Ti conviene determinare la directory corrente e costruirti il path completo per la chiamata.
In alternativa puoi inserire tutti i tuoi eseguibili nella directory $(HOME)/bin e metterla nella variabile di ambiente PATH (normalmente c' gi). In questa maniere li esegui direttamente inserendo il nome del programma
ciao
sergio

Metflar
24-04-2008, 11:51
Originariamente inviato da mondobimbi
se da un programma devi par fartire un altro programma devi usare quanto ti ha suggerito MItaly punto 1 (scelta migliore).
Ti conviene determinare la directory corrente e costruirti il path completo per la chiamata.
In alternativa puoi inserire tutti i tuoi eseguibili nella directory $(HOME)/bin e metterla nella variabile di ambiente PATH (normalmente c' gi). In questa maniere li esegui direttamente inserendo il nome del programma
ciao
sergio
visto che il c++ lo sto riprendendo in questi giorni cm faccio a determinare la directory corrente?
per la tua idea bella ma nn posso utilizzarla(il mio programma un emulatore di terminale) :zizi:

mondobimbi
24-04-2008, 18:29
su windows


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

int main()
{

char buf[_MAX_PATH];
getcwd(buf, _MAX_PATH);
printf("Vecchia directory : %s\n", buf);
chdir("/home/sergio");
getcwd(buf, _MAX_PATH);
printf("Nuova directory : %s\n", buf);

return (0);
}

Loading