Advertisement
Guest User

Untitled

a guest
Oct 12th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.70 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "bufio"
  5. "fmt"
  6. "io"
  7. "log"
  8. "os"
  9. "os/exec"
  10. )
  11.  
  12. func main() {
  13. cmd := exec.Command("./dfrotz", "zork.z5")
  14. stdout, err := cmd.StdoutPipe()
  15. if err != nil {
  16. log.Fatal(err)
  17. }
  18. stdin, err := cmd.StdinPipe()
  19. if err != nil {
  20. log.Fatal(err)
  21. }
  22. defer stdin.Close()
  23. if err := cmd.Start(); err != nil {
  24. log.Fatal(err)
  25. }
  26. buf := make([]byte, 500)
  27. n, err := stdout.Read(buf)
  28. if err != nil {
  29. log.Fatal(err)
  30. }
  31. fmt.Println(string(buf[:n]))
  32. reader := bufio.NewReader(os.Stdin)
  33. fmt.Print("?> ")
  34. text, err := reader.ReadString('\n')
  35. if err != nil {
  36. log.Fatal(err)
  37. }
  38. io.WriteString(stdin, text)
  39. n, err = stdout.Read(buf)
  40. if err != nil {
  41. log.Fatal(err)
  42. }
  43. fmt.Println(string(buf[:n]))
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement