Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Lasciare aperto programma esterno c++  ?
Forum - C/C++ - Lasciare aperto programma esterno c++ ?

Avatar
Antonello93 (Normal User)
Newbie


Messaggi: 5
Iscritto: 16/04/2012

Segnala al moderatore
Postato alle 15:55
Lunedì, 16/04/2012
Salve,

Sono alle prese con un programma in cui richiamo con la funzione system il programma freeware " gnuplot" e gli passo come parametro un file di testo con relativo percorso. Il problema che ho è che gnuplot esegue l'istruzione presente nel file di testo , ma si chiude subito e non riesco a visualizzare il risultato.
Come posso fare? grazie in anticipo :hail: questo è il mio codice casomai servisse:

#include <cstdlib>
#include <iostream>
#include<windows.h>

int main(int argc, char *argv[])
{

system (" start wgnuplot.exe   comanto.txt ");



    system("PAUSE");
    return EXIT_SUCCESS;
}

Ultima modifica effettuata da Antonello93 il 16/04/2012 alle 15:57


Ha provato a riavviare?
Windows docet. Ogni problema scompare al riavvio di un applicativo, sistema operativo, macchina.
PM Quote
Avatar
Umberto (Member)
Pro


Messaggi: 156
Iscritto: 27/09/2011

Segnala al moderatore
Postato alle 18:55
Lunedì, 16/04/2012
io farei uno script bash con scritto :
Codice sorgente - presumibilmente Plain Text

  1. start wgnuplot.exe   comanto.txt
  2. PAUSE


e poi lo lanceri
Codice sorgente - presumibilmente C++

  1. #include <cstdlib>
  2. #include <iostream>
  3. #include<windows.h>
  4.  
  5. int main(int argc, char *argv[])
  6. {
  7.  
  8. system (" [scriptbash].bat ");
  9.  
  10.  
  11.  
  12.     system("PAUSE");
  13.     return EXIT_SUCCESS;
  14. }


oppure :
Codice sorgente - presumibilmente C++

  1. #include <cstdlib>
  2. #include <iostream>
  3. #include<windows.h>
  4.  
  5. int main(int argc, char *argv[])
  6. {
  7.  
  8. system (" start wgnuplot.exe   comanto.txt & PAUSE ");
  9.  
  10.  
  11.  
  12.     system("PAUSE");
  13.     return EXIT_SUCCESS;
  14. }


Ultima modifica effettuata da Umberto il 16/04/2012 alle 19:35


PM Quote
Avatar
Antonello93 (Normal User)
Newbie


Messaggi: 5
Iscritto: 16/04/2012

Segnala al moderatore
Postato alle 19:53
Lunedì, 16/04/2012
dannazione ho provato entrambi i metodi e mi fa comunque la stessa cosa ... sarà che sono sotto windows e devo provare un altro metodo ? ho già provato con Shell Execute... :( altre idee? grazie per la pazienza

Ultima modifica effettuata da Antonello93 il 16/04/2012 alle 19:54


Ha provato a riavviare?
Windows docet. Ogni problema scompare al riavvio di un applicativo, sistema operativo, macchina.
PM Quote
Avatar
Umberto (Member)
Pro


Messaggi: 156
Iscritto: 27/09/2011

Segnala al moderatore
Postato alle 22:17
Lunedì, 16/04/2012
cosi ?

Codice sorgente - presumibilmente C++

  1. #include <cstdlib>
  2.     #include <iostream>
  3.     #include<windows.h>
  4.      
  5.     int main(int argc, char *argv[])
  6.     {
  7.      
  8.     system ("wgnuplot.exe   comanto.txt & PAUSE ");
  9.      
  10.      
  11.      
  12.         system("PAUSE");
  13.         return EXIT_SUCCESS;
  14.     }



PM Quote
Avatar
Antonello93 (Normal User)
Newbie


Messaggi: 5
Iscritto: 16/04/2012

Segnala al moderatore
Postato alle 22:28
Lunedì, 16/04/2012
allora sono riuscito a risolvere il problema mandando il comando "pause" direttamente a gnuplot e scrivendogli nel file .txt oltre al comando un "pause-1".
Esempio :
Codice sorgente - presumibilmente Plain Text

  1. plot sin(x)
  2.            pause-1



sono riuscito a trovare questo comando spulciando per 3 ore nella documentazione XD , spero che ciò possa essere di aiuto a tutti gli altri che abbiano lo stesso problema:k: grazie mille per l'interessamento Umberto :)

Ultima modifica effettuata da Antonello93 il 16/04/2012 alle 22:29


Ha provato a riavviare?
Windows docet. Ogni problema scompare al riavvio di un applicativo, sistema operativo, macchina.
PM Quote