SHARE
TWEET

Untitled

a guest Oct 12th, 2017 53 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
RAW Paste Data
Top