[C++] Jak pobrać wynik funkcji system(...)
Ostatnio zmodyfikowano 2011-06-28 17:20
a3780459 Temat założony przez niniejszego użytkownika |
[C++] Jak pobrać wynik funkcji system(...) » 2011-06-28 11:09:40 Jak w tytule. Jak pobrać do programu to co funkcja system(...) wyświetla na ekranie zamiast to przekazywać na wyjście? Jest to możliwe? Poszukuję rozwiązania zarówno dla Windowsa jak i Linuxa.
Z góry dzięki... |
|
michalp |
» 2011-06-28 11:17:34 Np.: przekazać strumień wyjściowy do swojego programu. // Chociaż to trochę ekstremalne rozwiązanie. // btw. miałem na myśli coś w stylu system( "foo.exe | bar.exe" ); |
|
a3780459 Temat założony przez niniejszego użytkownika |
» 2011-06-28 12:52:22 No tak, tylko jak?? |
|
asembler |
» 2011-06-28 13:12:20 Chcesz pobrać napis z konsoli ? - Do tego celu możesz utworzyć bufor ekranu konsoli (sposób dla Windows), ale czy ci się uda zależy od ciebie, dlatego pokombinuj. |
|
ison |
» 2011-06-28 13:42:19 też kiedyś nad tym myślałem, przekierowanie outputu konsoli bezpośrednio do programu jest co najmniej bardzo trudne (o ile ktoś Ci nie da gotowca, którego sam nigdzie nie znalazłem), najprostszym sposobem jest przekierowanie wyjścia do pliku i pobranie z niego treści w programie system( "polecenie > plik.txt" ); std::ifstream in( "plik.txt" ); in >>...
// tak w ogóle to zależy jeszcze z jakiego poziomu chcesz to zrobić, czy z poziomu programu (czyli wewnątrz programu chcesz pobrać to co wypisze jakieś polecenie) czy z poziomu konsoli (już przed odpaleniem jakiegoś programu znane jest polecenie, z którego chcesz pobrać wyjście) zarówno na Linuksie jak na Windowsie możesz użyć polecenie | program
w ten sposób wszystko co wypisze polecenie będzie przekierowane do programu właśnie tak napisałem sobie kiedyś Windowsowego grepa ;) ( http://pl.wikipedia.org/wiki/Grep) |
|
a3780459 Temat założony przez niniejszego użytkownika |
» 2011-06-28 14:28:00 Rozwiązanie z wykorzystaniem pliku mi wystarczy. Wielkie dzięki za pomoc.
Zamykam... |
|
Elaine |
» 2011-06-28 14:28:28 przekierowanie outputu konsoli bezpośrednio do programu jest co najmniej bardzo trudne |
Nie przesadzaj, istnieją w pełni udokumentowane mechanizmy do tego, całość to, przynajmniej pod Windowsem, niecałe 40 linii kodu. |
|
yoogi |
» 2011-06-28 17:20:39 Jest funkcja WinExec() która działa prawie tak samo jak system. Nie licząc tego że ostatni argument podaję się czy ma okienko się pokazać czy nie. A tu masz dokumentację: [MSDN] WinExec |
|
« 1 » |