System() i przekierowanie.

Odpowiedz Nowy wątek
2011-07-14 10:11
Nexolek
0

W skrócie potrzebuje zrzucić informacje z cmd:
cmd user_wypas> java -version > out.txt
wynik: mam na dysku plik out.txt z tymi danymi. Problem: chcę to samo osiągnąć przy użyciu system();

system("cmd /C java -version > out.txt);
system(("cmd java -version > out.txt).c_str());
system("java -version>out.txt)";

Kombinuje różnie nawiasy etc. i zawsze kończy sie pustym plikiem poza trywialnym polecaniami cmd typu system("dir>out.txt");. jak uchomic inne źródło i zrzucić do pliku strumien jego wyjscia.

Pozostało 580 znaków

2011-07-14 10:50
0

żaden z twoich wariantów się nawet nie skompiluje. pokaż co rzeczywiście wykonywałeś.

Pozostało 580 znaków

2011-07-14 12:54
RomekAtomek
0

Zeżarło \" :), jednak to nie problem z c++ tylko z cmd.
cmd>java -version daje na standardowe wyjście info o wersji, ale przy uzyciu przekierowania strumenia
cmd>java -version > out.txt otrzymuje pusty plik. O co chodzi?

Pozostało 580 znaków

2011-07-14 13:46
0

java -version wypisuje to stderr, nie do stdout, musisz przekierować używając 2>

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0