您的位置:首页 > 编程语言 > Go语言

Go 中启动其他程序并获取其输出

2013-01-18 22:47 489 查看
Go还是挺可爱的,蛮喜欢~语法以及内建函数库都不错。

// exec
package main

import (
"fmt"
"os/exec"
)

func main() {
cmd := exec.Command("cmd.exe", "/c", "tasklist")
var buf []uint8
var err error

err = nil
if nil == err {
buf, err = cmd.Output()
if err != nil {
fmt.Printf("%t", err)
return
}
} else {
fmt.Printf("fatal error:%t", err)
return
}

var c uint8
line := []uint8{}
jump := false
for i := 0; i < len(buf); i += 1 {
c = buf[i]
if jump == true {
if c == uint8('\n') {
jump = false
}
continue
}
if c > 0x7f {
jump = true
line = []uint8{}
fmt.Println("One line skipped.")
continue
}
if c == uint8('\n') {
fmt.Printf("%s\n", line)
line = []uint8{}
continue
}
line = append(line, c)
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: