• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

jak pobrać output z funkcji system()

Object Storage Arubacloud
0 głosów
264 wizyt
pytanie zadane 29 kwietnia 2017 w C i C++ przez Shiro Stary wyjadacz (10,300 p.)
Witam,

gdy użyje funkcji system do zrobienia np. backupu to wyrzuci ono np. 15 file(s) copied czy coś podobnego.
Jak to pobrać chciałbym wiedzieć czy pliki ostatecznie zostały skopiowane czy nie.

Z góry dziękuje za pomoc :)
komentarz 29 kwietnia 2017 przez vector Dyskutant (9,200 p.)

Na stackoverflow można łatwo znaleźć odpowiedź twoje pytanie: How to execute a command and get output of command within C++ using POSIX?

komentarz 30 kwietnia 2017 przez j23 Mędrzec (194,920 p.)

Nie prościej użyć funkcji systemowych do kopiowania plików/katalogów, zamiast bawić się protezami typu system + komendy?

komentarz 30 kwietnia 2017 przez Shiro Stary wyjadacz (10,300 p.)
Można jednak mój program jest bardziej skomplikowany, wykonanie go jako skrypt powłoki jest nie możliwe.
komentarz 30 kwietnia 2017 przez j23 Mędrzec (194,920 p.)

Nie bardzo rozumiem, o jakim skrypcie powłoki piszesz. Może opisz, co Twój program ma robić. No i wypadałoby napisać, na jaki system to ma być.

komentarz 30 kwietnia 2017 przez Shiro Stary wyjadacz (10,300 p.)
Skrypt powłoki to to co Ty chcesz zrobić, a co mój program ma robić to na chwilę obecną pisać nie będę ;)
komentarz 30 kwietnia 2017 przez j23 Mędrzec (194,920 p.)

Czyli jak, to, co chcesz zrobić, jest zbyt skomplikowane dla API systemowego, ale dla funkcji system z komendami już nie? Coś kręcisz...

komentarz 2 maja 2017 przez Shiro Stary wyjadacz (10,300 p.)
Możesz napisać to po prawnie ? Nie rozumiem co masz dokładnie na myśli.

Program jest moją własnością intelektualną i jako jego autor mam prawo do nie ujawnienia celu jego działania lub / i kodu.

Program jest prosty ale zwykły skrypt powłoki np. nie jest w stanie zrobić logów czy współpracy z plikiem (lub bazą danych)

Nie rozumiem jak miałbym coś kręcić, ani nie jesteśmy wspólnikami, ani też nic nie obiecywałem, trochę nie rozumiem co miałeś na myśli pisząc to ;/
2
komentarz 2 maja 2017 przez j23 Mędrzec (194,920 p.)

Możesz napisać to po prawnie ?

Poprawnie.

(...) i jako jego autor mam prawo do nie ujawnienia celu jego działania

Oczekujesz pomocy, więc oczywistym jest, że czasem ludzie będą się dopytywać o szczegóły, żeby np. zaproponować lepsze rozwiązanie. Żadne novum na tego typu forach...

Program jest prosty ale zwykły skrypt powłoki (...)

A kto mówi o skryptach powłoki? Piszesz w kategorii C/C++, więc założyłem, że aplikację piszesz w C/C++, i stąd moje pytanie o szczegóły, bo być może łatwiej będzie użyć funkcji systemowych z poziomu kodu C/C++ niż stosować dziwne zabiegi z system.

 

(...) nie rozumiem co miałeś na myśli pisząc to ;/

To było pisane z przymrużeniem oka ;)

 

Jeśli upierasz się przy tym system, to najprościej będzie przekierować do pliku standardowe wyjście wywoływanej komendy/aplikacji. Później z tego pliku odczytasz informację, która Cię interesuje.

komentarz 2 maja 2017 przez Shiro Stary wyjadacz (10,300 p.)

Możesz napisać to po prawnie ?

Poprawnie.

Nie mam pojęcia dlaczego tak napisałem, tak czy inaczej dziękuję za wytniecie mi błędu ;) 

(...) i jako jego autor mam prawo do nie ujawnienia celu jego działania

Oczekujesz pomocy, więc oczywistym jest, że czasem ludzie będą się dopytywać o szczegóły, żeby np. zaproponować lepsze rozwiązanie. Żadne novum na tego typu forach...

Oczywiście masz rację jednak, jednak pisząc to chciałem jedynie uzyskać informację jak dostać output z konsoli / komendy i myślę że jest to odpowiedni opis, czego potrzebowałem. Również nie widzę potrzeby opisu co program ma dokładnie robić skoro wyjaśniłem czego na daną chwilę potrzebowałem. Kodu nie chciałem wklejać głównie z przyczyny braku refaktoryzacji, którą na pewno się zajmę i wtedy możliwe że wkleję kod. Mam nadzieje że wiesz o co mi chodziło. Nie piszę jednocześnie że moje myślenie jest słuszne. Więc jeśli uważasz to za głupie napisz.

Program jest prosty ale zwykły skrypt powłoki (...)

A kto mówi o skryptach powłoki? Piszesz w kategorii C/C++, więc założyłem, że aplikację piszesz w C/C++, i stąd moje pytanie o szczegóły, bo być może łatwiej będzie użyć funkcji systemowych z poziomu kodu C/C++ niż stosować dziwne zabiegi z system.

Hmmm, cały czas myślałem że chodzi Ci o zamianę c++ na skrypt powłoki czyli *.cmd / *.bat napisz proszę więcej o tym nigdy i tym nie słyszałem (przynajmniej nie kojarzę), a chętnie się z tym zapoznam. 

(...) nie rozumiem co miałeś na myśli pisząc to ;/

To było pisane z przymrużeniem oka ;)

Okey ;)  

Jeśli upierasz się przy tym system, to najprościej będzie przekierować do pliku standardowe wyjście wywoływanej komendy/aplikacji. Później z tego pliku odczytasz informację, która Cię interesuje.

Czy jest możliwość abyś napisał jak to zrobić lub jak to się nazywa (przypuszczam że będzie potrzebna funkcja()) co bym mógł to znaleźć i ewentualnie użyć ;)

Dziękuje Ci za pomoc ;) 

2 odpowiedzi

+2 głosów
odpowiedź 2 maja 2017 przez Ehlert Ekspert (212,670 p.)
Nie rozumiem po co ta dyskusja. Temat powinien zostać zamknięty po komentarzu użytkownika @vector. Jeśli autor pytania nie chce ujawniać kodu/szczegółów dotyczących problemu to można wybrać inne forum, a nie wyjeżdżać z własnościami intelektualnymi i tanio usprawiedliwiać błędy ortograficzne.
+1 głos
odpowiedź 2 maja 2017 przez j23 Mędrzec (194,920 p.)

Czy jest możliwość abyś napisał jak to zrobić (...)

system("komenda > ścieżka_do_pliku ");

 

(...) proszę więcej o tym nigdy i tym nie słyszałem

Nie słyszałeś o funkcjach systemowych jak np. CreateFile/ReadFile/WriteFile itd.? Zresztą co miałbym Ci więcej napisać, jeśli - jak wspomniałem - za mało jest szczegółów? Nawet nie wiadomo jaki system (zakładam, że Windows).

Kiedyś na innym forum pisałem komuś własną wersję funkcji system (win), która zwraca wszystko, co program/komenda z siebie wypluje via standardowe wyjście, czyli w zasadzie to, o co pytasz na początku. Jak chcesz, to poszukam tego i wrzucę tutaj.

Podobne pytania

0 głosów
1 odpowiedź 102 wizyt
+1 głos
1 odpowiedź 339 wizyt
pytanie zadane 9 sierpnia 2016 w C i C++ przez Kasztan Dyskutant (8,080 p.)
+1 głos
2 odpowiedzi 1,244 wizyt

92,568 zapytań

141,420 odpowiedzi

319,617 komentarzy

61,953 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...