Strona 1 z 1

Program w C++ korzystający z konsoli

: 23 września 2013, 13:34
autor: cloudbuster
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ą.

: 23 września 2013, 14:46
autor: pone13
Funkcja system

Kod: Zaznacz cały

man system
lub rodzina exec

Kod: Zaznacz cały

man 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.

: 23 września 2013, 15:00
autor: cloudbuster
Chciałbym odebrać smsa z użyciem programu gnokii. Wydając polecenie, dostaję pobranego smsa.

Więc może można by wyeksportować wynik z konsoli do txt i wtedy go odtworzyć już moim programem?

: 23 września 2013, 18:11
autor: Rafal_F
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:

Kod: Zaznacz cały

polecenie > plik
Tworzy nowy plik.

Kod: Zaznacz cały

polecenie >> plik
Tworzy nowy, lub nadpisuje już istniejący.

: 24 września 2013, 12:58
autor: cloudbuster
Dobrze, spróbuję, dziękuję.