Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Przechwycenie wyjścia konsoli do /najpiej/ string

Ostatnio zmodyfikowano 2014-05-09 13:57
Autor Wiadomość
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:
C/C++
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
P-109520
CodeMeister
» 2014-05-09 09:24:27
wywołaj polecenie i przekieruj je do pliku. potem w programie wczytaj zawartość pliku do stringa
P-109546
maly
» 2014-05-09 09:50:55
Zamiast do cout dodawaj do stringa.
P-109548
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?
P-109560
maly
» 2014-05-09 13:39:55
C/C++
string str;
FILE * fp = popen( cmd.c_str(), "r" );
char op[ 256 ];
while( fgets( op, sizeof( op ), fp ) != NULL )
{
    str += op;
}
P-109561
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
P-109562
maly
» 2014-05-09 13:57:33
U mnie działa, jednak użyć tego możesz tylko w konsolowych programach.
P-109564
« 1 »
  Strona 1 z 1