Oppure

Loading
24/03/06 21:56
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-|
01/04/06 23:07
Rand
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:
"dir /s > nomefile.txt"


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

#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 :k:
aaa
02/04/06 13:49
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...
06/04/06 17:54
Rand
be ? la prima soluzione che mi ? venuta in mente leggendo il tuo post! :-|
spero che sia anche la + efficiente!!

ciaoo :k:
aaa
11/05/06 13:27
Hack
Scusa, ma è giusto questo pezzo di codice che tu hai scritto:
 while(!fp.eof())


Se si, a cosa serve?:D
aaa
11/05/06 15:44
Rand
Postato originariamente da Hack:

Scusa, ma è giusto questo pezzo di codice che tu hai scritto:
 while(!fp.eof())


Se si, a cosa serve?:D


si scusa... errore mio di sintassi!
correggilo pure cosi:
... 
while(!eof(fp)) {
...
}
...


:k:
aaa
11/05/06 16:13
Hack
Ma con il while gli fai stampare il contenuto del file?
Non stampa niente.:-|
aaa
12/05/06 18:31
Rand
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...
#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!

: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 12/05/06 18:34
aaa