任何人都可以在系統中顯示等價物(「清除」);在C?我想在一段時間後清理控制檯。在此先感謝系統(「清除」);相當於去
編輯:在C爲我工作在Linux中
import "os/exec"
clear := exec.Command("clear")
clear.Stdout = os.Stdout
clear.Run()
任何人都可以在系統中顯示等價物(「清除」);在C?我想在一段時間後清理控制檯。在此先感謝系統(「清除」);相當於去
編輯:在C爲我工作在Linux中
import "os/exec"
clear := exec.Command("clear")
clear.Stdout = os.Stdout
clear.Run()
system()
調用你的情況下,外部程序— clear
。
因此,Go中的等價物將使用os/exec
標準包生成相同的程序並等待它完成其執行。
可以使用的C
幾行調用stdlib.h
系統功能go
:
package main
// #include <stdlib.h>
//
// void clear() {
// system("clear");
// }
import "C"
import (
"fmt"
"time"
)
func main() {
fmt.Println("Hello")
fmt.Println("World")
fmt.Println("Golang")
time.Sleep(time.Second * 5)
C.clear()
fmt.Println("Screen is cleared")
}
轉到下面的功能等同於C系統()函數。在旅途中,你可以使用此類似:
import "system"
...
exitstatus := system.System("clear")
這裏是Go代碼:
package system
import (
"os"
"os/exec"
"syscall"
)
func System(cmd string) int {
c := exec.Command("sh", "-c", cmd)
c.Stdin = os.Stdin
c.Stdout = os.Stdout
c.Stderr = os.Stderr
err := c.Run()
if err == nil {
return 0
}
// Figure out the exit code
if ws, ok := c.ProcessState.Sys().(syscall.WaitStatus); ok {
if ws.Exited() {
return ws.ExitStatus()
}
if ws.Signaled() {
return -int(ws.Signal())
}
}
return -1
}
這可能會幫助:http://stackoverflow.com/questions/19209425/how-can-i - 清理控制檯與golang在窗口 –
它真的幫助,謝謝你!對於Linux – seomis
的工作方式幾乎相同,因爲編輯是一個解決方案而不是問題,您是否可以像這樣提交它。 – Adeeb