System() i przekierowanie.

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.

0

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

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?

0

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

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