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++ - Catturare l'output di un programma in c
Forum - C/C++ - Catturare l'output di un programma in c

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 1:00
Giovedì, 01/01/1970
Vista la risposta tempestiva ad un altra mia domanda ne avrei qui subito un altra non si sa mai :) come faccio a cattuare l'output di un comando dos? tipo lanciare da un programma c il ping e cattuare il risultato? grazie anticipatamente Eidos 8-|

PM Quote
Avatar
Rand (Ex-Member)
Pro


Messaggi: 163
Iscritto: 17/05/2005

Segnala al moderatore
Postato alle 1:07
Domenica, 02/04/2006
ciao!
io ti consiglio il modo pi? semplice (secondo me), che consiste nel reindirizzare l'output del comando dos su un file, e in seguito leggerlo dal prg. ;)

il comando che permette di fare ci? ? ha questa sintassi:
Codice sorgente - presumibilmente Plain Text

  1. "dir /s > nomefile.txt"



un volta creato lo puoi gestire dal tuo prg ad esempio con qst banale listato:

Codice sorgente - presumibilmente C++

  1. #include <stdio.h>
  2.  
  3. #define TXTFILE "nomefile.txt"
  4.  
  5. int main() {
  6. FILE *fp=fopen(TXTFILE,"r");
  7.    if(fp!=NULL) {
  8.      printf("Output Comando:\n");
  9.        while(!fp.eof())
  10.          printf("%c", getc(fp));
  11.    } else {
  12.         printf("\nErrore nel comando!");
  13.    }
  14.   return 0;
  15. }




spero che ti sia di aiuto!
ciauu :k:


Ero solito portare una pallottola nel taschino, all'altezza del cuore.
Un giorno un tizio mi tirò addosso una Bibbia, ma la pallottola mi salvò la vita.

(Woody Allen)
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 15:49
Domenica, 02/04/2006
Grazie ;) allora far? cos? :( anche perch? continuando a cercare non ho trovato molto (in c) in java ci sono metodi gia fatti per catturare l'output boh...

PM Quote
Avatar
Rand (Ex-Member)
Pro


Messaggi: 163
Iscritto: 17/05/2005

Segnala al moderatore
Postato alle 19:54
Giovedì, 06/04/2006
be ? la prima soluzione che mi ? venuta in mente leggendo il tuo post! :-|
spero che sia anche la + efficiente!!

ciaoo :k:


Ero solito portare una pallottola nel taschino, all'altezza del cuore.
Un giorno un tizio mi tirò addosso una Bibbia, ma la pallottola mi salvò la vita.

(Woody Allen)
PM Quote
Avatar
Hack (Ex-Member)
Newbie


Messaggi: 14
Iscritto: 09/05/2006

Segnala al moderatore
Postato alle 15:27
Giovedì, 11/05/2006
Scusa, ma è giusto questo pezzo di codice che tu hai scritto:
Codice sorgente - presumibilmente Plain Text

  1. while(!fp.eof())



Se si, a cosa serve?:D

PM Quote
Avatar
Rand (Ex-Member)
Pro


Messaggi: 163
Iscritto: 17/05/2005

Segnala al moderatore
Postato alle 17:44
Giovedì, 11/05/2006
Testo quotato

Postato originariamente da Hack:

Scusa, ma è giusto questo pezzo di codice che tu hai scritto:
Codice sorgente - presumibilmente Plain Text

  1. while(!fp.eof())



Se si, a cosa serve?:D



si scusa... errore mio di sintassi!
correggilo pure cosi:
Codice sorgente - presumibilmente Plain Text

  1. ...
  2. while(!eof(fp)) {
  3. ...
  4. }
  5. ...



:k:


Ero solito portare una pallottola nel taschino, all'altezza del cuore.
Un giorno un tizio mi tirò addosso una Bibbia, ma la pallottola mi salvò la vita.

(Woody Allen)
PM Quote
Avatar
Hack (Ex-Member)
Newbie


Messaggi: 14
Iscritto: 09/05/2006

Segnala al moderatore
Postato alle 18:13
Giovedì, 11/05/2006
Ma con il while gli fai stampare il contenuto del file?
Non stampa niente.:-|

PM Quote
Avatar
Rand (Ex-Member)
Pro


Messaggi: 163
Iscritto: 17/05/2005

Segnala al moderatore
Postato alle 20:31
Venerdì, 12/05/2006
Testo quotato

Postato originariamente da Hack:

Ma con il while gli fai stampare il contenuto del file?
Non stampa niente.:-|



il while permette di stampare il contenuto del file fino a che non si verifica l'EOF (end of file) e allora termina tutto ;)

provati qst se nn funziona l'altro...
Codice sorgente - presumibilmente C++

  1. #include <stdio.h>
  2.  
  3. int main(int argc, char** argv) {
  4. FILE *fp=fopen(argv[1],"r");
  5. char c;
  6.    
  7.     printf("contenuto file:\n");
  8.     c=getc(fp);
  9.     do {
  10.         printf("%c", c);
  11.         c=getc(fp);
  12.     } while(c!=EOF);    
  13.  
  14.   system("pause");
  15.   return 0;
  16. }


NB
stai attento che il file da leggere viene passato come argomento!

:k:

ps e cmq l'altro nn funziona xke nn avrai configurato il DEFINE correttamente!
devi sostituire al posto di "nomefile.txt" il nome del tuo file da leggere :rotfl:

Ultima modifica effettuata da Rand il 12/05/2006 alle 20:34


Ero solito portare una pallottola nel taschino, all'altezza del cuore.
Un giorno un tizio mi tirò addosso una Bibbia, ma la pallottola mi salvò la vita.

(Woody Allen)
PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6109
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 15:02
Sabato, 13/05/2006
Per essere pignoli, usare il ciclo:
Codice sorgente - presumibilmente Plain Text

  1. do{
  2.  
  3. }while(<condizione>);


Nella lettura dei files è scorretto, infatti se il file ha dimensioni 0 l'operazione di lettura viene comunque eseguita e va a leggere che cosa se il file è vuoto?

Sarebbe più opportuno quindi usare sempre il
Codice sorgente - presumibilmente Plain Text

  1. while(<condizione>){
  2.  
  3. }




:)


Seguimi su Twitter: http://www.twitter.com/pierotofy

Fai quello che ti piace, e fallo bene.
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo