Przechwycenie wyjścia konsoli do /najpiej/ string
Ostatnio zmodyfikowano 2014-05-09 13:57
colorgreen19 Temat założony przez niniejszego użytkownika |
Przechwycenie wyjścia konsoli do /najpiej/ string » 2014-05-08 19:41:10 Szukałem i coś znalazłem ale nie o to chodzi. Otóż kiedy wpisujemy help konsola nam wypluwa te opisy i w ogole. Chciałbym, aby taki opis znalazł sie w stringu (o ile to możliwe, dostosuje sie tez do pliku, tablicy, wektora, czegokolwiek) Znalazłem w internecie taki kod: FILE * fp = popen( cmd.c_str(), "r" ); char op[ 256 ]; while( fgets( op, sizeof( op ), fp ) != NULL ) { cout << op; } Kod przechwytuje to co "wychodzi" (i to chyba tylko)z HELP ale to mi nie wystarcza (bo wpisując np. attrib nic nie wyświetla mi sie). Chciałbym aby np. przy wpisaniu TREE zobaczyc te strukturę plików (/mieć ją w czymś) albo bo potrzebuje takie coś przesłać. Prosze o jakieś podpowiedzi |
|
CodeMeister |
» 2014-05-09 09:24:27 wywołaj polecenie i przekieruj je do pliku. potem w programie wczytaj zawartość pliku do stringa |
|
maly |
» 2014-05-09 09:50:55 Zamiast do cout dodawaj do stringa. |
|
colorgreen19 Temat założony przez niniejszego użytkownika |
» 2014-05-09 13:36:13 @CodeMeister do pliku to troche kłopotliwe, no ale w ostateczności spróbuje. @maly jak przyjdzie dana komenda, jest ona w stringu. potem wywołuje ją system( cmd.c_str() ) . Jak moge przekierować jej wyjście zamiast cout do stringa? |
|
maly |
» 2014-05-09 13:39:55 string str; FILE * fp = popen( cmd.c_str(), "r" ); char op[ 256 ]; while( fgets( op, sizeof( op ), fp ) != NULL ) { str += op; } |
|
colorgreen19 Temat założony przez niniejszego użytkownika |
» 2014-05-09 13:46:06 tak juz próbowałem i to nie działało. próbowałem też z string.push_back(op) i tez nie działało |
|
maly |
» 2014-05-09 13:57:33 U mnie działa, jednak użyć tego możesz tylko w konsolowych programach. |
|
« 1 » |