()
Newbie
Messaggi:
Iscritto:
|
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
|
|
Rand (Ex-Member)
Pro
Messaggi: 163
Iscritto: 17/05/2005
|
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 |
un volta creato lo puoi gestire dal tuo prg ad esempio con qst banale listato:
Codice sorgente - presumibilmente C++ |
#include <stdio.h> #define TXTFILE "nomefile.txt" int main() { FILE *fp=fopen(TXTFILE,"r"); if(fp!=NULL) { printf("Output Comando:\n"); while(!fp.eof()) printf("%c", getc(fp)); } else { printf("\nErrore nel comando!"); } return 0; }
|
spero che ti sia di aiuto!
ciauu |
|
()
Newbie
Messaggi:
Iscritto:
|
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...
|
|
Rand (Ex-Member)
Pro
Messaggi: 163
Iscritto: 17/05/2005
|
be ? la prima soluzione che mi ? venuta in mente leggendo il tuo post!
spero che sia anche la + efficiente!!
ciaoo
|
|
Hack (Ex-Member)
Newbie
Messaggi: 14
Iscritto: 09/05/2006
|
Scusa, ma è giusto questo pezzo di codice che tu hai scritto:
Codice sorgente - presumibilmente Plain Text |
Se si, a cosa serve?
|
|
Rand (Ex-Member)
Pro
Messaggi: 163
Iscritto: 17/05/2005
|
Postato originariamente da Hack:
Scusa, ma è giusto questo pezzo di codice che tu hai scritto:
Codice sorgente - presumibilmente Plain Text |
Se si, a cosa serve? |
si scusa... errore mio di sintassi!
correggilo pure cosi:
Codice sorgente - presumibilmente Plain Text |
...
while(!eof(fp)) {
...
}
...
|
|
|
Hack (Ex-Member)
Newbie
Messaggi: 14
Iscritto: 09/05/2006
|
Ma con il while gli fai stampare il contenuto del file?
Non stampa niente.
|
|
Rand (Ex-Member)
Pro
Messaggi: 163
Iscritto: 17/05/2005
|
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++ |
#include <stdio.h> int main(int argc, char** argv) { FILE *fp=fopen(argv[1],"r"); char c; printf("contenuto file:\n"); c=getc(fp); do { printf("%c", c); c=getc(fp); } while(c!=EOF); system("pause"); return 0; }
|
NB
stai attento che il file da leggere viene passato come argomento!
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 Ultima modifica effettuata da Rand il 12/05/2006 alle 20:34 |
|
pierotofy (Admin)
Guru^2
Messaggi: 6230
Iscritto: 04/12/2003
|
Per essere pignoli, usare il ciclo:
Codice sorgente - presumibilmente Plain Text |
do{
}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 |
|
|