Dodaj do ulubionych

Tcl - potoki

24.04.06, 10:13
Potrzebuję uruchomić program za pomoca skryptu tak, żeby dało się pisać na
wejście programu i czytać z wyjścia. Szukałem tego trochę, ale wyglada, że
można albo pisać, albo czytać. Nie wydaje mi się, żeby to były jedyne
możliwości, ale nie mam pomysłu jak to zrobić.
Obserwuj wątek
    • szybi Re: Tcl - potoki 25.04.06, 11:28
      Już sobie poradziłem. Może się komuś przyda:

      set potok [open "|program" w+ ]

      I teraz $potok jest potokiem do zapisu i odczytu.
      Tylko jest problem, bo trzeba użyć czasem polecenia flush $potok - nie zbyt je
      rozumiem, ale ok.
      • hydroxyzine Re: Tcl - potoki 25.04.06, 12:50
        > Tylko jest problem, bo trzeba użyć czasem polecenia flush $potok - nie zbyt je
        > rozumiem, ale ok.
        Pewnie niewiele pomogę, jak to napiszę... Wejście jest buforowane, flush powoduje "wypchnięcie" danych z tego bufora.
        • szybi Re: Tcl - potoki 25.04.06, 23:55
          Właściwie to miało by nawet sens, bo bez tego wszystko się zatrzymuje, więc
          pewnie czeka, aż bufor będzie wolny po zapisie, żeby móc czytać. Czytałem
          manuala po angielsku, a nie zbyt mi to idzie, i zrozumiałem, że to czyści bufor,
          a dane przecież nie przepadały. Więc "wypychanie" chyba wszystko wyjaśnia. Tylko
          czy bufor musi być pełny, żeby program pobrał z niego dane? No bo jak wyjaśnić,
          że chyba tylko końcówka danych "utyka" w buforze?

          Ale to już takie tylko rozważania, bo skrypt już działa :)

Nie masz jeszcze konta? Zarejestruj się


Nakarm Pajacyka