Witam.
Chciałbym napisać program, który wykorzystuje polecenia konsolowe, a wynik poleceń kopiuje do okna w interfejsie programu. Podejrzewam, że trzeba by użyć popen i pclose, ale nie bardzo rozumiem jak działa. Mogę prosić kogoś to podanie jakiegoś przykładu? Powiedzmy wejście do katalogu i skopiowanie listy folderów jakie się w nim znajdują.
Program w C++ korzystaj
-
- Beginner
- Posty: 126
- Rejestracja: 02 lipca 2013, 22:31
Funkcja system lub rodzina exec jeżeli nie korzystasz z wątków.
Z przekazaniem wyniku będzie trudniej, generalnie funkcja system zwróci ci tylko status wykonania polecenia nie wynik, więc będziesz mógł
co najwyżej sprawdzić czy polecenie wykonało się poprawnie czy nie.
Mógłbyś też napisać szerzej jakie polecenia chcesz wykonywać, ponieważ wiele z nich ma swoje odpowiedniki w
funkcjach systemowych C, które wywołasz bezpośrednio z programu bez narzutu związanego z
tworzeniem nowego procesu w przypadku wywołania system.
Kod: Zaznacz cały
man system
Kod: Zaznacz cały
man exec
Z przekazaniem wyniku będzie trudniej, generalnie funkcja system zwróci ci tylko status wykonania polecenia nie wynik, więc będziesz mógł
co najwyżej sprawdzić czy polecenie wykonało się poprawnie czy nie.
Mógłbyś też napisać szerzej jakie polecenia chcesz wykonywać, ponieważ wiele z nich ma swoje odpowiedniki w
funkcjach systemowych C, które wywołasz bezpośrednio z programu bez narzutu związanego z
tworzeniem nowego procesu w przypadku wywołania system.
-
- Beginner
- Posty: 126
- Rejestracja: 02 lipca 2013, 22:31
popen i pclose mogą zadziałać, sprawdź drugi przykład w tym linku: http://www.linuxpl.org/LPG/node11.html
Co do eksportu to możesz przekierować standardowe wyjście do pliku:
Tworzy nowy plik.
Tworzy nowy, lub nadpisuje już istniejący.
Co do eksportu to możesz przekierować standardowe wyjście do pliku:
Kod: Zaznacz cały
polecenie > plik
Kod: Zaznacz cały
polecenie >> plik
-
- Beginner
- Posty: 126
- Rejestracja: 02 lipca 2013, 22:31